比赛 |
noip-081029 |
评测结果 |
AAAAAAA |
题目名称 |
最小乘车费用 |
最终得分 |
100 |
用户昵称 |
zhai |
运行时间 |
0.000 s |
代码语言 |
Pascal |
内存使用 |
0.00 MiB |
提交时间 |
2008-10-29 21:26:55 |
显示代码纯文本
program busses;
const
max=500;
type
sz=array[1..2,1..10]of integer;
sx=array[1..10]of real;
var
f1,f2:text;
n:integer;
a:sz;
a1,a2,a3:integer;
procedure ini;
var
i,j:integer;
m:real;
b:sx;
begin
assign(f1,'busses.in');reset(f1);
assign(f2,'busses.out');rewrite(f2);
for i:=1 to 10 do read(f1,a[1,i]);
read(f1,n);
close(f1);
for i:=1 to 10 do b[i]:=a[1,i]/i;
m:=b[1];j:=1;
for i:=2 to 10 do
if m>b[i] then begin m:=b[i];j:=i;end;
a[2,1]:=j;
a1:=0;
a2:=0;
a3:=maxint;
end;
procedure chu1;
var
i:integer;
begin
i:=1;
while i<=n-10 do begin
a1:=a1+a[1,a[2,1]];
i:=i+a[2,1];
end;
a1:=a1-a[1,a[2,1]];
a2:=n-(i-a[2,1])+1;
end;
procedure try(x,y:integer);
var
i,j:integer;
begin
for i:=1 to x do
if i<=10 then begin
if i=x then begin
inc(y,a[1,i]);
if y<a3 then a3:=y;
exit;
end else try(x-i,y+a[1,i]);
end;
end;
begin
ini;
chu1;
try(a2,0);
a1:=a1+a3;
write(f2,a1);
close(f2);
end.