31 lines
687 B
ObjectPascal
31 lines
687 B
ObjectPascal
program star;
|
|
var i,j,k,n,s,t,min:longint;
|
|
a,b,f:array[0..1000]of longint;
|
|
c,l:array[1..3]of longint;
|
|
procedure swap(var x,y:longint);
|
|
var temp:longint;
|
|
begin
|
|
temp:=x; x:=y; y:=temp;
|
|
end;
|
|
begin
|
|
assign(input,'railway.in');
|
|
assign(output,'railway.out');
|
|
reset(input);
|
|
rewrite(output);
|
|
readln(l[1],l[2],l[3],c[1],c[2],c[3]);
|
|
readln(n);
|
|
readln(s,t);
|
|
if s>t then swap(s,t);
|
|
for i:=2 to n do readln(a[i]);
|
|
fillchar(f,sizeof(f),$7f);
|
|
f[s]:=0;
|
|
for i:=s+1 to t do
|
|
for j:=i-1 downto s do
|
|
for k:=1 to 3 do
|
|
if a[i]-a[j]<=l[k] then
|
|
if f[j]+c[k]<f[i] then f[i]:=f[j]+c[k];
|
|
writeln(f[t]);
|
|
close(input);
|
|
close(output);
|
|
end.
|