Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#define LL long longusing namespace std;int n, m;const int MAXN = 100005;struct P {int x, num; }pa[MAXN], pb[MAXN];bool cmp(P a, P b) {return a.x < b.x;}int main() {// freopen("in.txt","r",stdin);int T;scanf("%d", &T);while (T--) {scanf("%d%d", &n, &m);for (int i = 1; i <= n; ++i)scanf("%d%d", &pa[i].x, &pa[i].num);for (int i = 1; i <= m; ++i)scanf("%d%d", &pb[i].x, &pb[i].num);sort(pa + 1, pa + n + 1, cmp);sort(pb + 1, pb + m + 1, cmp);LL ans = 0, nowans = 0; int tmp = 1;for (int i = 1; i <= n; ++i) {while (tmp <= m && pa[i].x > pb[tmp].x) nowans += pb[tmp].num, tmp ++;ans += 1ll * pa[i].num * nowans;}cout<<ans<<endl;}return 0;