题解 B4082
[语言月赛 202412] 古希腊掌管罚时的神 题解
Source & Knowledge
本题来源于 2024 年 12 月的语言月赛,主要考察一维循环和累加操作的应用。
文字题解
题目大意
给定一系列有效提交记录,每条记录包含提交时间和是否通过的信息。需要计算一支队伍在比赛中的总罚时,罚时的计算方式是每道题目的第一次通过时间加上二十倍的未通过次数。
解析
注意到对于第
则总罚时
即总罚时等于所有通过记录的时间之和加上
当读入到一条通过记录时,就给总时间加上该记录的时间,否则这条记录只会贡献
读入
首先读取有效提交记录的条数 n。
int n;
cin >> n;
计算罚时
依据说明完成即可。
long long ans = 0;
for (int i = 0; i < n; ++i) {
int a, b;
cin >> a >> b;
if (b) {
ans += a; // 通过记录,加上通过时间
} else {
ans += 20; // 未通过记录,加上 20
}
}
输出
最后,输出计算出的总罚时。
cout << ans << endl;
通过上述步骤,我们可以有效地计算出队伍在比赛中的总罚时。