题解:P11641 【MX-X8-T0】「TAOI-3」分数
思路
根据题意直接模拟,先读入数组然后判断总和并输出答案。
在这里我们有几个优化的点:
- 一边读入一边统计总和:这样我们就避免了读入完后还要再循环计算一次总和的时间。
- 使用变量代替数组读入:因为仅涉及到就和操作,因此我们可以直接使用变量读入。
- 先读入第一次评分,如果总分已经小于 $T$ 则直接输出并结束程序:我们知道不读入完整数据不影响是否通过本题,因此在读入玩第一次评分后可以直接判断,满足条件直接输出,否则继续读入第二次评分。
代码
这个代码是赛时代码。
#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
int n, T, z, x, y;
int main()
{
cin >> n >> T;
for (int i = 1; i <= n; i++)
{
cin >> z;
x += z;
}
if (x < T)
{
cout << x << endl;
return 0;
}
for (int i = 1; i <= n; i++)
{
cin >> z;
y += z;
}
cout << y << endl;
return 0;
}