性感代码在线求调
查看原帖
性感代码在线求调
548329
Aybbl_xc楼主2023/3/30 18:49
#include<bits/stdc++.h>
#define maxn 1000005
using namespace std;
int n,m,a[maxn],d[maxn],x[maxn],y[maxn],s[maxn],sum,ans=0;
int judge(int mid){
	memset(s,0,sizeof(s));
	for(int i=1;i<=mid;i++){
		s[x[i]]+=d[i];
		s[y[i]+1]-=d[i];
	}
	sum=0;
	for(int i=1;i<=n;i++){
		sum+=s[i];
		if(sum>a[i]) return 0;
		
	}
	return 1;
}
int main(){
	scanf("%d%d",&n,&m); 
	for(int i=1;i<=n;i++) scanf("%d",&rest[i]);
	for(int i=1;i<=m;i++){
		scanf("%d%d%d",&d[i],&x[i],&y[i]);
	}
	int l=1,r=m;
	while(l<=r){
		int mid=(l+r)/2;
		if(judge(mid))
		    l=mid+1;
		else{
			r=mid+1;
			ans=mid; 
		}
	}
	if(ans==0) cout<<0<<endl;
	else{
		cout<<-1<<endl<<ans<<endl;
	}
	return 0;
}

2023/3/30 18:49
加载中...