借教室TLE90分求调

题目直接转P1083 [NOIP2012 提高组] 借教室,洛谷原题

#include<bits/stdc++.h>
using namespace std;
int main(){
  long long n,m,a[1000001],d,s,t;
  cin>>n>>m;
  for(long long i=0;i<n;i++)cin>>a[i];
  for(long long i=0;i<m;i++){
    cin>>d>>s>>t;
    for(long long j=s-1;j<t;j++){
      if(a[j]<d){
        cout<<"-1\n"<<i+1;
        return 0;
      }a[j]-=d;
    }
  }cout<<0;
  return 0;
}

线段树除外,我还在学

1 个赞

这题要用二分,你这是暴力,复杂度都不对

1 个赞

用二分

1 个赞

这题不是差分吗

1 个赞

不太会

你差分学过没,没学过我把书截图给你

2 个赞

学过,但这题不太会用

这题要二分套差分

1 个赞

看过题解,但还不会 :smiling_face_with_tear: