奖学金
题目为简单的结构体存储和cmp排序
#include <bits/stdc++.h>
using namespace std;
struct node {
int chinese;
int math;
int eng;
int id;
int sum;
} arr[310];
bool cmp (node x, node y) {
if(x.sum == y.sum) {
if(x.chinese == y.chinese) return x.id < y.id;
return x.chinese > y.chinese;
}
return x.sum > y.sum;
}
int main() {
int n;
cin >> n;
for(int i = 0; i < n; i++) {
cin >> arr[i].chinese >> arr[i].math >> arr[i].eng;
arr[i].id = i + 1, arr[i].sum = arr[i].chinese + arr[i].math + arr[i].eng;
}
sort(arr, arr + n, cmp);
for(int i = 0; i < 5; i++) {
cout << arr[i].id << " " << arr[i].sum << endl;
}
return 0;
}