1 条题解

  • 0
    @ 2025-8-24 21:17:45

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar no_response
    「自信人生二百年,会当水击三千里」|| 关注我,两小号必回,大号一般不回 || 互关条件&粉福 www.luogu.com.cn/training/815113 || 昵称:无反应/res

    搬运于2025-08-24 21:17:44,当前版本为作者最后更新于2025-03-08 10:09:51,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    题目传送门

    解题思路

    一道前缀和加判断题目。

    通过前缀和求出分数小于 ii 的人数。
    接着枚举每一个分数线,若在范围内,则输出并结束程序。
    否则无解,输出零。

    细节

    #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;
    }
    

    为保持洛谷的良好学习习惯,请勿抄袭。
    千万别抄袭哦。
    管理大大辛苦了,各位大佬给蒟蒻点个赞呗。

    • 1

    信息

    ID
    11622
    时间
    500ms
    内存
    512MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者