QBTICKET - Mua vé tàu hoả
Tác giả: flashmt
Ngôn ngữ: Pascal
const maxn=100011;
var a,b:array[1..maxn] of int64;
s,f,n:longint;
l,c:array[1..3] of int64;
procedure rf;
var i:longint;
begin
for i:=1 to 3 do read(l[i]);
for i:=1 to 3 do read(c[i]);
readln;
readln(n);
readln(s,f);
for i:=2 to n do readln(a[i]);
end;
procedure pr;
var i,j,k,t:longint;
begin
for i:=1 to n do b[i]:=maxlongint*10000;
b[s]:=0;
for j:=s+1 to f do
for i:=j-1 downto s do
begin
if a[j]>a[i]+l[3] then break;
for k:=1 to 3 do
if (a[j]-a[i]<=l[k]) and (b[j]>b[i]+c[k]) then
begin
b[j]:=b[i]+c[k];
break;
end;
end;
end;
procedure wf;
begin
write(b[f]);
end;
begin
rf;
pr;
wf;
end.