#include <bits/stdc++.h>
using namespace std;
long long s[10000001];
int n,x[1000001],m,l,r,y,c;//创建变量
int main(){
cin>>n>>m;//输入变量
for(int i=1;i<=n;i++){//输入数组
cin>>x[i];
}
for(int i=1;i<=n;i++){//差分
s[i]=x[i]-x[i-1];
}
for(int i=1;i<=m;i++){//差分数组只需要修改第l项和第r+1项。
cin>>l>>r>>c;
s[l]+=c;
s[r+1]-=c;
}
for(int i=1;i<=n;i++){//前缀和
x[i]=s[i]+x[i-1];
}
sort(x+1,x+n+1);//排序从小到大
cout<<x[1];//输出数组
return 0;
}