#include<iostream>
#include<vector>
using namespace std;
struct nn
{
int ia;
int ib;
};
struct mm
{
int ic;
int id;
};
vector<nn>a;
vector<mm>b;
int main()
{
int n,m,s;
scanf("%d%d%d",&n,&m,&s);
for(int i=1;i<=m;i++)
{
int k,l;
scanf("%d%d",&k,&l);
a.push_back({k,l});
}
for(int i=1;i<=s;i++)
{
int k,l;
scanf("%d%d",&k,&l);
b.push_back({k,l});
}
int p=0,q=0;
long long sum=0;
for(;(p<m && q<s);)
{
if(a[p].ia==b[q].ic)
{
sum+=a[p].ib * b[q].id;
p++;
q++;
}
else if(a[p].ia<b[q].ic)
{
p++;
}
else if(a[p].ia>b[q].ic)
{
q++;
}
}
cout<<sum<<endl;
return 0;
}
稀疏向量
最新推荐文章于 2022-02-22 10:58:54 发布