开始的时候没有把node节点里的x,y定义为long long类型,结果csp官网过了,acwing没过。
后来把x,y从int类型改为long long类型,顺利AC了
C++ 代码
#include<iostream>
using namespace std;
const int N = 1e6; //每个向量的非零值个数
struct node{
long long x;
long long y;
}node1[N],node2[N];
long long sum;
int main(){
int n,a,b;
cin>>n>>a>>b;
for(int i = 1;i <= a;i++)cin>>node1[i].x>>node1[i].y;
for(int i = 1;i <= b;i++)cin>>node2[i].x>>node2[i].y;
//双指针
int i = 1,j = 1;
while(i <= a && j <= b){
if(node1[i].x < node2[j].x) i++;
else if(node1[i].x == node2[j].x){
sum += node1[i].y*node2[j].y;
i++;
j++;
}else j++;
}
cout<<sum;
return 0;
}