Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
116436 | 万隽宇 | 奖学金 | C++ | Accepted | 2 MS | 276 KB | 972 | 2025-04-10 19:42:11 |
#include<iostream> // cin\cout\endl #include<cstdio> //scanf()\printf() #include<cstring> // strcpy()\strcat()\strcmp()\strlen()\memset() #include<cmath> //sqrt()\pow()\abs()\ceil()\floor()\max()\min() using namespace std; struct ST{ int N; int C; int M; int E; int T; }; bool c(ST x,ST y){ if(x.T<y.T){ return true; } else if(x.T==y.T){ if(x.C<y.C){ return true; } else if(x.C==y.C){ return x.N>y.N; } } return false; } int main(){ int n; ST a[301]; cin>>n; for(int i=0;i<n;i++){ a[i].N=i+1; cin>>a[i].C>>a[i].M>>a[i].E; a[i].T=a[i].C+a[i].M+a[i].E; } for(int i=0;i<n-1;i++){ for(int j=0;j<n-1-i;j++){ if(c(a[j],a[j+1])) swap(a[j],a[j+1]); } } for(int i=0;i<5;i++){ cout<<a[i].N<<' '<<a[i].T<<endl; } return 0; }