WA:
#include<bits/stdc++.h>
using namespace std;
int n,m,d[114514],p[114514],s[114514],ans=0;
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>p[i];
if(i>1){
d[min(p[i],p[i-1])]++;
d[max(p[i],p[i-1])]--;
}
}
for(int i=1;i<=n;i++){
s[i]=s[i-1]+d[i];
int a,b,c;
cin>>a>>b>>c;
ans+=min(s[i]*a,s[i]*b+c);
}
cout<<ans;
}
AC:
#include<bits/stdc++.h>
using namespace std;
long long n,m,d[114514],p[114514],s[114514],ans=0;
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>p[i];
if(i>1){
d[min(p[i],p[i-1])]++;
d[max(p[i],p[i-1])]--;
}
}
for(int i=1;i<=n;i++){
s[i]=s[i-1]+d[i];
int a,b,c;
cin>>a>>b>>c;
ans+=min(s[i]*a,s[i]*b+c);
}
cout<<ans;
}