
һ��ɵ���⣬ֱ��ǰ��+��֣�ֱ���ϴ���
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
#include <cstdio> #include <cstring> #include <cmath> using namespace std; long long n,num[10000055]; struct { long long x,y,z; }a[10000055]; long long sum[10000055]; long long ans; long long m; int main(){ cin>>m>>n; for(long long i=1;i<=n;i++){ scanf("%d",&num[i]); } for(long long i=1;i<=n-1;i++){ long long minn=min(num[i],num[i+1]); long long maxn=max(num[i],num[i+1]); sum[minn]++; sum[maxn]--; } for(long long i=1;i<=m;i++){ num[i]=num[i-1]+sum[i]; } for(long long i=1;i<=m-1;i++){ scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].z); ans+=min(a[i].x*num[i],a[i].z+a[i].y*num[i]); } cout<<ans<<endl; return 0; }
|
近期评论