45分求助T.T从#10到#20全部TLE
查看原帖
45分求助T.T从#10到#20全部TLE
1412080
liuyichen2024楼主2024/9/14 11:17
#include<iostream>
using namespace std;
int n,m,d,s,t;
const int N=1000010;
int b[N],r[N];
bool add(int l,int r,int d){
	b[l]+=d;
	b[r+1]-=d;int a[N];
	for(int i=l;i<=r;i++){
		a[i]=a[i-1]+b[i];
		if(a[i]<0)return true;
	}return false;
}
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++){
		scanf("%d",&r[i]);
		add(i,i,r[i]);
	}
	
	for(int i=1;i<=m;i++){
		scanf("%d%d%d",&d,&s,&t);
		if(add(s,t,(-1*d))){
			printf("%d\n%d",-1,i);
			return 0;
		}
	}printf("0");
	return 0;
}
2024/9/14 11:17
加载中...