社区讨论
0pts酋条,条后碧关(麻风良好)
P1051[NOIP 2005 提高组] 谁拿了最多奖学金参与者 3已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @mhj1vf9q
- 此快照首次捕获于
- 2025/11/03 19:21 4 个月前
- 此快照最后确认于
- 2025/11/03 19:21 4 个月前
CPP
#include <bits/stdc++.h>
using namespace std;
struct jxj {
int qm;
int py;
char gb;
char xb;
int lw;
int id;
int sum;
string nm;
} a[105];
bool cmp(jxj x, jxj y) {
if (x.sum != y.sum)
return x.sum > y.sum;
else
return x.id < y.id;
}
int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a[i].nm >> a[i].qm >> a[i].py >> a[i].gb >> a[i].xb >> a[i].lw;
a[i].id = i;
}
for (int i = 0; i < n; i++) {
if (a[i].qm > 90) a[i].sum += 2000;
if (a[i].qm > 85 && a[i].xb == 'Y') a[i].sum += 1000;
if (a[i].qm > 80 && a[i].lw >= 1) a[i].sum += 8000;
if (a[i].py > 80 && a[i].gb == 'Y') a[i].sum += 850;
if (a[i].qm > 85 && a[i].py >= 80) a[i].sum += 4000;
}
sort(a, a + n, cmp);
int cnt = 0;
for (int i = 0; i < n; i++) {
cnt += a[i].sum;
}
cout << a[0].nm << endl << a[0].sum << endl << cnt;
return 0;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...