蒟蒻求调
查看原帖
蒟蒻求调
749219
Eva_91418楼主2024/7/15 19:30
#include<bits/stdc++.h>
using namespace std;
int n,m,r[1000000],d[1000000],s[1000000],t[1000000];
bool yes(int a)
{
	for(int i=1;i<=a;i++)
	{
		for(int j=s[i];j<=t[i];j++)
		{
			r[j]-=d[i];
			if(r[j]<0)return 0;
		}
	}
	return 1;
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>r[i];
	}
	for(int i=1;i<=m;i++)
	{
		cin>>d[i]>>s[i]>>t[i];
	}
	int lf=1,rt=m,mid;
	if(yes(m))cout<<"0";
	while(lf<rt)
	{
		mid=(lf+rt)/2;
		if(yes(mid)){
			lf=mid+1;
		}
		else{
			rt=mid;
		}
	}
	cout<<"-1"<<endl;
	cout<<lf;
	return 0;
 } 

5pts,求调qaq)

2024/7/15 19:30
加载中...