1 条题解
-
0
📝 题目大意
给定 道题目的分值 以及一个阈值 ,求所有分值不超过 (即 )的题目分值之和。
💡 解题思路
- 题目分析: 极小(), 和 的范围也很小(),直接模拟即可,没有任何性能压力。
- 算法推导:
- 读入 和 ,初始化
sum = 0。 - 遍历 次,每次读入一个分值 :
- 若 ,则
sum += s。
- 若 ,则
- 最后输出
sum。
- 读入 和 ,初始化
- 边界与细节:
- 当所有 都大于 时,和为 (如样例 3),需要正确处理。
- 当 时,该分值应被计入(条件为 ,而非 )。
⏱️ 复杂度分析
- 时间复杂度:,仅需遍历一次数组。
- 空间复杂度:,仅使用常数个变量。
💻 标准代码 (C++)
#include <iostream> using namespace std; int main() { int N, X; cin >> N >> X; // 读入题目数量 N 和阈值 X int sum = 0; // 累计和,初始为 0 for (int i = 0; i < N; i++) { int s; cin >> s; // 读入第 i 题的分值 if (s <= X) { // 若分值不超过阈值 sum += s; // 累加 } } cout << sum << endl; // 输出答案 return 0; }
- 1
信息
- ID
- 747
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 上传者