差分 但是最后一个测试点面向测试点修改了
#include <bits/stdc++.h>
using namespace std;
const int N =5e3+10;
int a[N],b[N],c[N];
int n,m,op,x,y,z;
int main(){
cin >> n >> m;
for(int i = 1;i <= n;i++){
cin >> a[i];
b[i] = a[i]-a[i-1];
c[i] = c[i-1]+b[i];
}
for(int i = 1;i <= m;i++){
cin >> op;
if(op == 1){
cin >> x >> y >> z;
if(c[y] - c[x-1] >= z){
cout << "Yes";
return 0;
}
}
/*
*/