15分,尚不如一个暴力45分……
求助!!!
#include<bits/stdc++.h>
using namespace std;
struct node{
int d,s,t;
}r[1000000];
int a[1000000],b[100000];
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=m;i++){
cin>>r[i].d>>r[i].s>>r[i].t;
b[r[i].s]+=r[i].d,b[r[i].t+1]-=r[i].d;
}int t=1e9;
for(int i=1;i<=n;i++){
b[i]+=b[i-1];
if(b[i]>a[i]){
for(int j=1;j<=m;j++){
a[i]-=r[j].d;
if(a[i]<0){
t=min(t,j);
}
}
}
}
if(t!=1e9){
cout<<-1<<endl<<t;
return 0;
}
cout<<0;
}