思路
记得PTA培训的时候学长讲这个题我当时都有点听懵了
大佬的思路不是我们一般人能理解的
一开始两个循环运行超时30分,但是我很高兴啊,终于扣分有提示了啊啊啊啊
代码
#include<bits/stdc++.h>
using namespace std;
struct stu{
int w;//位置
int e;//值
}A[500000],B[500000];
int main(){
int n,a,b,x,y;
long long sum=0;
cin>>n>>a>>b;
int i,j;
for(i=0;i<a;i++){
cin>>x>>y;
A[i].w=x;
A[i].e=y;
}
for(i=0;i<b;i++){
cin>>x>>y;
B[i].w=x;
B[i].e=y;
}
i=0;j=0;
while(i<a&&j<b){
if(A[i].w<B[j].w) i++;
else if(A[i].w>B[j].w) j++;
else if(A[i].w==B[j].w){
sum=sum+(long long)(A[i].e*B[j].e);
i++,j++;
}
}
cout<<sum;
return 0;
}