考场拿了满分,在洛谷评测拿了零分,求调ToT.
#include<bits/stdc++.h>
using namespace std;
struct node{
int p,c;
}farm[100005];
int n,m,cnt,x,a,b,g[100005];
bool cmp(node a,node b){
return a.p < b.p;
}
int main(){
cin >> n >> m >> x;
for(int i = 1;i <= n;i++) cin >> farm[i].p >> farm[i].c;
for(int i = 1;i <= m;i++){
cin >> a >> b;
cnt += 2 * b * x;
g[i] = 2 * a - 2 * b;
}
sort(g + 1,g + m + 1);
sort(farm + 1,farm + n + 1,cmp);
for(int i = 1,j = n;i <= m && g[i] <= 0;i++){
if(!farm[j].c) j--;
cnt += g[i] * farm[j].p;
farm[j].c--;
}
for(int i = m,j = 1;i > 0 && g[i] > 0;i--){
if(!farm[j].c) j++;
cnt += g[i] * farm[j].p;
farm[j].c--;
}
cout<<cnt;
return 0;
}