#include<bits/stdc++.h>
using namespace std;
int n,m,k;
long long sum=0;
struct Struct{
int x,y;
}a[100010],b[100010];
bool cmp1(Struct x,Struct y){
return x.x<y.x;
}bool cmp2(Struct a,Struct b){
return fabs(a.x-a.y)>fabs(b.x-b.y);
}int main(){
cin>>n>>m>>k;
int r=n,l=1;
for(int i=1;i<=n;i++){
cin>>a[i].x>>a[i].y;
}for(int i=1;i<=m;i++){
cin>>b[i].x>>b[i].y;
}sort(a+1,a+n+1,cmp1);
sort(b+1,b+m+1,cmp2);
for(int i=1;i<=m;i++){
if(b[i].x==b[i].y){
sum+=b[i].y*k;
}else if(b[i].x-b[i].y>0){
if(a[l].y<=0){
l++;
}sum+=(b[i].y*k+b[i].x*a[l].x-b[i].y*a[l].x);
a[l].y--;
}else{
if(a[r].y<=0){
r--;
}
sum+=(b[i].y*k+b[i].x*a[r].x-b[i].y*a[r].x);
a[r].y--;
}
}cout<<2*sum<<endl;
return 0;
}
为什么还是0分?