#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
struct fy {
int ch;
int math;
int eng;
int zf;
int id;
} a[301];
bool cmp(fy x, fy y) {
if (x.zf == y.zf) {
return x.ch > y.ch;
} else if (x.zf == y.zf && x.ch == y.ch) {
return x.id < y.id;
} else {
return x.zf > y.zf;
}
}
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i].ch >> a[i].math >> a[i].eng;
a[i].zf = a[i].ch + a[i].math + a[i].eng;
a[i].id = i;
}
sort(a + 1, a + n + 1, cmp);
for (int i = 1; i <= 5; i++) {
cout << a[i].id << " " << a[i].zf << endl;
}
return 0;
}
只有92分。
共 16 条回复
我也懂了
我已ac了
@CPP,谢谢啊。
cmp函数有问题
这万一语文成绩和总分相等那程序输出还正确吗
这个函数有问题
需要敲这么多空格吗?
如果没有登录,就登录现在的账号
你看看