记录编号 606676 评测结果 AAAAAAAAAA
题目名称 3719.有n种物品 最终得分 100
用户昵称 GravatarKKZH 是否通过 通过
代码语言 C++ 运行时间 0.353 s
提交时间 2025-10-01 17:55:59 内存使用 4.52 MiB
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+10;
int a[N],b[N],tot,sum,ans;
struct node{
    int sum,num; 
}c[N];
bool cmp(node a1,node b1){
    return a1.sum>b1.sum;
} 
signed main(){
    freopen("nit.in","r",stdin);
    freopen("nit.out","w",stdout);
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i]>>b[i];
        c[i].sum=a[i]-b[i];
        c[i].num=i;
        tot+=a[i]+b[i];
    }
    sort(c+1,c+1+n,cmp);
    int suma=0,sumb=0;
    for(int i=1;i<=n;i++){
    if(a[c[i].num] - b[c[i].num] >= 0){
        if(i%2==1){
            suma += a[c[i].num];
            sumb += b[c[i].num];
        }else{
            suma += b[c[i].num];
            sumb += a[c[i].num];
        }
    }else{
        suma += a[c[i].num];
        sumb += b[c[i].num];
    }
}
//    ans=suma*2-tot;
    cout<<suma-sumb<<endl;
    return 0;
}