Ymt2014 @ 2024-11-27 17:36:27
今天运势不大好,连坐两题都wa了
求救!!!
#include <bits/stdc++.h>
using namespace std;
#define fi first
#define se second
void YMT(){
pair<int,pair<int,int> > p[333];
int n; cin >> n;
for (int i=1;i <= n;i ++){
int a,b,c; cin >> a >> b >> c;
p[i].fi = a+b+c, p[i].se.fi = a, p[i].se.se = i;
}
sort(p+1,p+n+1);
reverse(p+1,p+n+1);
for (int i=1;i<=5;i++)
cout << p[i].se.se << " " << p[i].fi << endl;
}
int main(){
int T=1; //cin >> T;
while(T--) YMT();
return 0;
}
by Ymt2014 @ 2024-11-27 17:38:11
啊,有个错别字
连坐 做两题都wa了
by Joker_IV @ 2024-11-27 18:16:19
直接sort不行,建议手写一个cmp函数
见
先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排在前面,这样,每个学生的排序是唯一确定的。
还有,我觉得结构体比两层pii写着方便
by Ymt2014 @ 2024-11-28 16:53:14
@Joker_IV 感谢!!!