洛谷 P1051 [NOIP 2005 提高组] 谁拿了最多奖学金
AcCode:
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
struct people{
string name;
int sc1, sc2;
char gb, xb;
int cnt;
int money;
int pid;
};
people pe[110];
bool Cmp(const people &a, const people &b){
if(a.money != b.money) return a.money > b.money;
return a.pid < b.pid;
}
int main(){
int N, sum = 0;
cin >> N;
for(int i = 0; i < N; i++){
string name;
cin >> name;
int sc1, sc2;
cin >> sc1 >> sc2;
char gb, xb;
cin >> gb >> xb;
int cnt;
cin >> cnt;
pe[i] = {name, sc1, sc2, gb, xb, cnt, 0, i};
if(sc1 > 80 && cnt >= 1){
pe[i].money += 8000;
}
if(sc1 > 85 && sc2 > 80){
pe[i].money += 4000;
}
if(sc1 > 90){
pe[i].money += 2000;
}
if(sc1 > 85 && xb == 'Y'){
pe[i].money += 1000;
}
if(sc2 > 80 && gb == 'Y'){
pe[i].money += 850;
}
sum += pe[i].money;
}
sort(pe, pe + N, Cmp);
cout << pe[0].name << endl << pe[0].money << endl << sum;
return 0;
}