求助-30分前三后四WA
查看原帖
求助-30分前三后四WA
1048191
y3106130271楼主2023/11/18 13:29

样例结果正确


#include<stdio.h>

long long p[100005]={0};
long long w[100005]={0};
int min(long long t,long long y);
int max(long long t,long long y);
int main()
{
	long long n,m;
	long long mon=0;
	long long a,b,c;
	long long i;
	scanf("%lld %lld",&n,&m);
	for(i=1;i<=m;i++)
	{
		scanf("%lld",&p[i]);
		
	}
	for(i=2;i<=m;i++)
	{
		w[min(p[i],p[i-1])]++;
		w[max(p[i],p[i-1])]--;
	}
	for(i=2;i<=m;i++)
	{
		w[i]+=w[i-1];
	}
	for(i=1;i<n;i++)
	{
		scanf("%lld %lld %lld",&a,&b,&c);
		mon+=min(a*w[i],c+b*w[i]);
	}
	printf("%lld",mon);
	return 0;
	
}

int min(long long t,long long y)
{
	if(t>y)
	{
		return y;
	}
	else
	{
		return t;
	}
}
int max(long long t,long long y)
{
	if(t>=y)
	{
		return t;
	}
	else
	{
		return y;
	}
}
2023/11/18 13:29
加载中...