超时啥也别干,别cin别cout 全给他printf scanf
就超简单一道题 怎么也没办法AC 让人火大 写不出来心里就堵得慌没办法写别的 我好无语
AC代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, a, b;
scanf("%d %d %d",&n,&a,&b);
vector<pair<int, int>> v1;
for(int i = 0; i < a; i++)
{
int x, y;
scanf("%d %d",&x,&y);
v1.push_back(make_pair(x, y));
}
long long ans = 0;
int l = 0;
for(int j = 0; j < b; j++)
{
int x1, y1;
scanf("%d%d",&x1,&y1);
while(l < a)
{
if(v1[l].first > x1) break;
else if(v1[l].first < x1) l++;
else
{
ans += y1 * v1[l].second;
l++;
}
}
}
printf("%lld",ans);
return 0;
}
挖个坑(60分)
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
struct node
{
int index;
int value;
};
vector<node> A,B;
int main()
{
int n, a, b;
scanf("%d %d %d",&n,&a,&b);
for(int i = 0; i < a; i++)
{
node temp;
scanf("%d %d",&temp.index, &temp.value);
A.push_back(temp);
}
for(int j = 0; j < b; j++)
{
node t;
scanf("%d %d",&t.index, &t.value);
B.push_back(t);
}
LL ans = 0;
for(int i = 0, j = 0; i < A.size(), j < B.size(); )
{
if(A[i].index > B[j].index) j++;
else if( A[i].index == B[j].index)
{
ans += (LL)A[i].value * B[j].value;
i++;
j++;
}
else i++;
}
printf("%lld", ans);
return 0;
}