-
Notifications
You must be signed in to change notification settings - Fork 1
/
1482_奖学金.cpp
48 lines (44 loc) · 1.15 KB
/
1482_奖学金.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// Problem#: 1482
// Submission#: 1602955
// The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
// URI: http://creativecommons.org/licenses/by-nc-sa/3.0/
// All Copyright reserved by Informatic Lab of Sun Yat-sen University
#include <iostream>
#include <algorithm>
using namespace std;
struct info{
int id;
int tot;
int chi;
}All[100000];
bool cmp(const info & a,const info & b){
if(a.tot != b.tot){
return a.tot > b.tot;
}
else if(a.chi != b.chi ){
return a.chi > b.chi;
}
else return a.id < b.id;
}
void go(int n){
for(int i = 0;i < n;i ++){
int chi,math,eng;
cin >> chi >> math >> eng;
int sum = chi + math + eng;
All[i].chi = chi;
All[i].tot = sum;
All[i].id = i + 1;
}
sort(All,All + n,cmp);
for(int i = 0;i < 5;i ++){
cout << All[i].id << " " << All[i].tot << endl;
}
}
int main(){
int n;
bool first = false;
while(cin >> n){
if(first ++)cout << endl;
go(n);
}
}