0分球掉
查看原帖
0分球掉
1358016
deepthinks楼主2025/1/11 17:06
#include <bits/stdc++.h>
using namespace std;
int n,m,a,b,c;
long long p[1005],f[1005],ans,x,y;
int main()
{
	cin>>n>>m;
	for(int i=1;i<=m;i++)
		cin>>p[i];
	for(int i=1;i<n;i++)
	{
		cin>>a>>b>>c;
		if(c<=b)
			f[i]=a-b+f[i-1],ans+=c;
		else
			f[i]=a+f[i-1];
	}//1 3 6 a f
	//. . . . . .
	for(int i=1;i<m;i++)
	{
		//p[i]->p[i+1]  ==  x->y
		//f[p[i]-1]-f[p[i+1]-1]
		x=p[i],y=p[i+1];
		if(x<y)
			swap(x,y);
		ans+=f[x-1]-f[y-1];
	}
//	5108
	cout<<ans;
	return 0;
}
2025/1/11 17:06
加载中...