2401_87614176 2024-10-01 00:21 采纳率: 100%
浏览 6
已结题

我的循环突然中断,但我不知道为什么,我想让它一直循环到结束

img

img


我在按示例做的时候发现第三天的数值输不上去就直接输出了,我猜测是因为某些原因让循环完第二次就中断了,但我自己没有找到原因

  • 写回答

1条回答 默认 最新

  • 嵌入式小企鹅 2024-10-02 11:06
    关注
    //你要是单纯想输入完成的话,你就独立两个循环。然后方便你排查。拿去运行就可以
    #include<iostream>
    #include<cstdio>
    using namespace std;
    
    int main() {
        long long n, m;
        scanf("%lld", &n);
        scanf("%lld", &m);
        long long* r = new long long[n];
        long long* sum = new long long[n];
        for (int i = 0; i < n; i++) {
            scanf("%lld", &r[i]);
            sum[i] = 0;
        }
        long long* d = new long long[m];
        long long* s = new long long[m];
        long long* t = new long long[m];
        int mis = 0;
        for (int j = 0; j < m; j++) {
            scanf("%lld", &d[j]);
            scanf("%lld", &s[j]);
            scanf("%lld", &t[j]);
        }
        for(int j=0;j<m;j++)
        {
            for (long long q = s[j]; q <= t[j]; q++) {
                sum[q - 1] += d[j];
                if (sum[q - 1] > r[q - 1]) {
                    if (mis == 0) {
                        printf("-");
                        printf("%lld", q);
                        mis = mis + 1;
                        printf("0");
                    }
                }
            }
         } 
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月17日
  • 已采纳回答 10月9日
  • 请提交代码 10月1日
  • 创建了问题 10月1日