#include<bits/stdc++.h>
using namespace std;
#define _for(i,a,b) for(int i=a;i<b;i++)
typedef struct piont
{
int x;
int y;
}P;
bool cmp(P a,P b)
{
return a.x<b.x;
}
int main()
{
int n,a,b;
//freopen("in.txt","r",stdin);
cin>>n>>a>>b;
long long sum=0;//注意不要写int
vector<P> u(a);
vector<P> v(b);
_for(i,0,a)
{
cin>>u[i].x>>u[i].y;
}
sort(u.begin(),u.end(),cmp);//从小到大排序
_for(i,0,b)
{
cin>>v[i].x>>v[i].y;
}
sort(v.begin(),v.end(),cmp);
int i=0,j=0;
while(1)
{
if(u[i].x>v[j].x)
{
j++;
}
else if(u[i].x<v[j].x)
{
i++;
}
else
{
sum+=u[i].y*v[j].y;
i++;
j++;
}
if(i==a || j==b)
{
break;
}
}
cout<<sum;
//fclose(stdin);
return 0;
}
202006-2 试题名称: 稀疏向量
最新推荐文章于 2024-08-12 16:55:46 发布