45分求助
查看原帖
45分求助
535508
xcd111907楼主2022/3/20 12:13
#include<bits/stdc++.h>
using namespace std;
const int N=1000001;
int n,m,a[N],b[N];
inline int read()
{
	int f=1,x=0;
	char c=getchar();
	while(c<'0'||c>'9')
	{
		if(c=='-')f=-f;
		c=getchar();
	}
	while(c>='0'&&c<='9')
	{
		x=(x<<1)+(x<<3)+c-48;
		c=getchar();
	}
	return f*x;
}
int main()
{
	n=read(),m=read();
	for(int i=1;i<=n;i++)a[i]=read();
	for(int i=1;i<=n;i++)b[i]=a[i]-a[i-1];
	int d,s,t,sum;
	for(int j=1;j<=m;j++)
	{
		d=read(),s=read(),t=read();
		b[s]-=d,b[t+1]+=d;
		sum=0;
		for(int i=1;i<=n;i++)
		{
			sum+=b[i];
			if(sum<0)
			{
				printf("-1\n%d",j);
				return 0;
			}
		}
	}
	printf("0");
    return 0;
}
2022/3/20 12:13
加载中...