求助
查看原帖
求助
1085720
zhuowei楼主2024/7/8 10:58
#include<bits/stdc++.h>
using namespace std;
long long x[100010],y[100010],p[100010];
int main(){
	long long n,m,a,b,c,flag=0;
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>p[i]; 
	}
	for(int i=2;i<=m;i++){
		if(p[i-1]<p[i]){
			y[p[i-1]]++;
			y[p[i]+1]--;
		} 
		else{
		y[p[i]]++;
			y[p[i-1]+1]--;
		}
	}
	for(int i=1;i<n;i++){
		x[i]=x[i-1]+y[i];
	}
	for(int i=1;i<n;i++){
		cin>>a>>b>>c;
		if(x[i]*a>=x[i]*b+c) flag=flag+x[i]*b+c;
		else flag=flag+x[i]*a;
	}
	cout<<flag;
	return 0;
}


2024/7/8 10:58
加载中...