给大家个题解~
2026-03-16 23:24:19
发布于:广东
0阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int n;
struct node{
string s;
int a,b,c,sum,idx;
}k[100005];
bool cmp(node x,node y){
if(x.sum!=y.sum) return x.sum>y.sum;
else if(x.a!=y.a) return x.a>y.a;
else if(x.b!=y.b) return x.b>y.b;
else return x.idx<y.idx;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>k[i].s>>k[i].a>>k[i].b>>k[i].c;
k[i].sum=k[i].a+k[i].b+k[i].c;
k[i].idx=i;
}
sort(k+1,k+n+1,cmp);//也可用stable_sort,就不用加idx
for(int i=1;i<=n;i++){
cout<<k[i].s<<" "<<k[i].sum<<endl;
}
return 0;
}
这里空空如也



有帮助,赞一个