http://ybt.ssoier.cn:8088/problem_show.php?pid=1839
代码只能通过30%用例找不到问题出在哪
#include<iostream>
#include<string>
#include<map>
#include<algorithm>
using namespace std;
const int N = 1e2 + 10;
struct stu {
string name;
int qmscore;
int bjscore;
char gb;
char sf;
int lw;
int sum;
} s[N];
bool cmp(stu a, stu b) {
if (a.sum == b.sum)
return false;
else
return a.sum > b.sum;
}
int main() {
int n;
cin >> n;
for(int i=0; i < n; i++) {
cin >> s[i].name >> s[i].qmscore >> s[i].bjscore >> s[i].gb >> s[i].sf >> s[i].lw;
s[i].sum = 0;
if (s[i].qmscore > 80 && s[i].lw >= 1) s[i].sum += 8000;
if (s[i].qmscore > 85 && s[i].bjscore > 80) s[i].sum += 4000;
if (s[i].qmscore > 90) s[i].sum += 2000;
if (s[i].qmscore > 85 && s[i].sf == 'Y') s[i].sum += 1000;
if (s[i].qmscore > 80 && s[i].gb == 'Y') s[i].sum += 850;
}
sort(s, s + n, cmp);
int total_sum = 0;
for (int i = 0; i < n; i++) {
total_sum += s[i].sum;
}
cout << s[0].name << endl << s[0].sum << endl << total_sum;
return 0;
}