ACcode:(一维差分模板题,代码注释打星号就是重点)
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=5e6+10;
int a[N],diff[N],n,p;
void solve() {
cin>>n>>p;
for(int i=1;i<=n;i++){
cin>>a[i];
diff[i]=a[i]-a[i-1];//***
}
while(p--){
int x,y,z;
cin>>x>>y>>z;
diff[x]+=z;//**
diff[y+1]-=z;//***
}
int mmin=1e9+10;
for(int i=1;i<=n;i++){
a[i]=a[i-1]+diff[i];//***
mmin=min(mmin,a[i]);
}
cout<<mmin;
}
signed main() {
ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
int tt=1;
//tt=1;
while(tt--) {
solve();
}
return 0;
}
over~