AcWing 3288. 稀疏向量
原题链接
简单
作者:
Value
,
2021-04-09 14:50:30
,
所有人可见
,
阅读 374
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int N = 1E6 + 10;
typedef long long ll;
typedef pair<ll, ll> pii;
pii A[N], B[N];
int n, a, b;
int main(){
cin >> n >> a >> b;
for(int i = 0; i < a; i ++ ) scanf("%lld%lld", &A[i].first, &A[i].second);
for(int i = 0; i < b; i ++ ) scanf("%lld%lld", &B[i].first, &B[i].second);
sort(A, A + a);
sort(B, B + b);
ll res = 0;
int i = 0, j = 0;
while(i < a && j < b){
if(A[i].first > B[j].first) j ++ ;
else if(A[i].first < B[j].first) i ++ ;
else res += A[i].second * B[j].second, i ++ , j ++ ;
}
cout << res << endl;
return 0;
}