题解:B4192 [海淀区小学组 2023] 分数线
no_response · · 题解
题目传送门
解题思路
一道前缀和加判断题目。
通过前缀和求出分数小于
接着枚举每一个分数线,若在范围内,则输出并结束程序。
否则无解,输出零。
细节
#define int long long
signed main() {
AC CODE
#include <bits/stdc++.h>
#define int long long
using namespace std;
int c[100010], ans[100010];
signed main() {
int m;
cin >> m;
for (int i = 1; i <= m; i++) { //前缀和
cin >> c[i];
ans[i] = ans[i - 1] + c[i];
}
int x, y;
cin >> x >> y;
for (int i = 2; i <= m; i++) { //判断
if (ans[i - 1] >= x && ans[i - 1] <= y && ans[m] - ans[i - 1] >= x && ans[m] - ans[i - 1] <= y) {
cout << i;
return 0;
}
}
cout << 0;
return 0;
}
为保持洛谷的良好学习习惯,请勿抄袭。
千万别抄袭哦。
管理大大辛苦了,各位大佬给蒟蒻点个赞呗。