@root

lyhldy CSP-J2二等 2024-05-11 19:35:03 19

为啥我的错了,调了将近十遍

#include <cstdio>
int main() {
    // freopen("in.txt","r",stdin);
    // freopen("out.txt","w",stdout);
    int m, n, sum = 0, x;
    scanf("%d %d", &m, &n);
    for (int i = 1; i <= n; i++) {
        scanf("%d", &x);
        if (x > m)
            break;
        m -= x;
        sum++;
    }
    printf("%d\n", n - sum);
    // fclose(stdin);fclose(stdout);
    return 0;
}
{{ vote && vote.total.up }}

共 1 条回复

root 站长

直接 break 有问题, 举个例子, 2 个人取药,一共 5 瓶。第一个人取 6 瓶,第二个人取 4 瓶。很明显答案应该是 1 而不是 0,自己想想?