求助 第四个样例过不了原因
查看原帖
求助 第四个样例过不了原因
390084
yuanyun楼主2020/9/20 21:34

数组下标从0开始,第四个样例过不了。 当然换成下标从1 开始还是能AC的。 想知道从0开始过不了的原因:)

// #include<bits/srdc++.h>
#include<iostream>
#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
    int v[5000001];
    int b[5000001];
int main(){
    int n, p;
    scanf("%d %d", &n, &p);

    for (int i = 0; i < n;i++){
        scanf("%d", &v[i]);
    }
    b[0] = v[0];
    for (int i = 1; i < n;i++){
        b[i] = v[i] - v[i - 1];
    }
    for (int i = 0; i < p;i++){
        int x, y, z;
        cin >> x >> y >> z;
        b[x-1] += z;
        
        b[y]-=z;
    }
    int min=1e9;
    v[0] = b[0];
    for (int i = 1; i < n;i++){
        v[i] = v[i-1] + b[i];
        if(min>v[i])
		    {
			    min=v[i];
		    }
	}
	cout<<min;
    return 0;
}
2020/9/20 21:34
加载中...