如下
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
typedef long long ll;
int n;
struct card{
ll a,b,s;
};
card c[528365];//卡 a正b反 s效益
bool cmp(card a,card b){
return a.s<b.s;
}
ll ans=0;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>c[i].a>>c[i].b;
c[i].s=c[i].a+c[i].b;//效益
}
sort(c,c+1+n,cmp);
// for(int i=1;i<=n;i++){
// cout<<c[i].s<<endl;
// }
//-+- -+-+
//减数不少于加数
for(int i=1;i<=n/2;i++){//前半+
ans+=min(c[i].a,c[i].b);
}
for(int i=n/2+1;i<=n;i++){//后半-
ans-=max(c[i].a,c[i].b);
}
cout<<ans;
return 0;
}