题目链接:https://www.luogu.com.cn/problem/P1093
这一题主要是使用到结构体,同时对结构体内的元素排序。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 350;
int n;
struct Student{
int chinese;
int math;
int english;
int sum;
int num;
bool operator< (const Student &w){
if (sum != w.sum) return sum > w.sum;
if (chinese != w.chinese) return chinese > w.chinese;
return num < w.num;
}
}s[N];
int main(){
cin >> n;
for (int i = 0; i < n; i ++ ){
int a, b, c; cin >> a >> b >> c;
s[i] = {a, b, c, a+b+c, i+1};
}
sort(s, s + n);
for (int i = 0; i < 5; i ++ ){
cout << s[i].num << ' ' << s[i].sum << endl;
}
return 0;
}