记录编号 260699 评测结果 AAAAAAAAAAAAAAAA
题目名称 [Ural 1031] 火车票 最终得分 100
用户昵称 GravatarGaoErFu 是否通过 通过
代码语言 C++ 运行时间 0.369 s
提交时间 2016-05-14 10:14:58 内存使用 0.11 MiB
显示代码纯文本
#include<stdio.h>
int a[10010]={0},f[10010]={0},s,t,L1,L2,L3,C1,C2,C3,n,i,j,x;
int cc()
{
	freopen("rail.in","r",stdin);
	freopen("rail.out","w",stdout);
	scanf("%d%d%d%d%d%d%d%d%d",&L1,&L2,&L3,&C1,&C2,&C3,&n,&s,&t);
	if(s>t)
    {x=s;s=t;t=x;}
	for(i=2;i<=n;i++)
	{
		scanf("%d",&x);
		a[i]=x;
		f[i]=1000000000;
    }
    f[s]=0;
	for(i=s+1;i<=t;i++)
	for(j=s;j<i;j++)
	if(a[i]-a[j]<=L3)
	{
		if(a[i]-a[j]<=L1&&f[i]>f[j]+C1)
	    f[i]=f[j]+C1;
	    else if(a[i]-a[j]<=L2&&f[i]>f[j]+C2)
	    f[i]=f[j]+C2;
	    else if(a[i]-a[j]<=L3&&f[i]>f[j]+C3)
	    f[i]=f[j]+C3;
	}
	printf("%d",f[t]);
	return 0;
}
int cx=cc();
int main(){;
}