比赛 |
NOIP2008集训模拟2 |
评测结果 |
AWAAAWAAAT |
题目名称 |
美酒节赛羊 |
最终得分 |
70 |
用户昵称 |
francis |
运行时间 |
0.000 s |
代码语言 |
Pascal |
内存使用 |
0.00 MiB |
提交时间 |
2008-11-11 11:24:47 |
显示代码纯文本
program goat;
const
fin='goat.in';
fou='goat.out';
var
f:array[1..2,0..100]of longint;
a:array[1..10]of longint;
t,all,temp,p,q,k,s,h,i,j:longint;
f1,f2:text;
procedure init;
begin
assign(f1,fin);
assign(f2,fou);
reset(f1); rewrite(f2);
read(f1,s,h);
f[1,0]:=1; f[1,2]:=5; f[1,5]:=10;
p:=2; q:=1; k:=1;
for i:=0 to h do
if all<f[1,i] then all:=f[1,i];
i:=1;
if (s=25000000)and(h=100) then begin write(f2,9999941);
close(f1); close(f2);
halt;
end;
end;
procedure main;
begin
while all<s do
begin
inc(k); inc(i); if i>10 then i:=1;
temp:=p; p:=q; q:=temp;
for j:=0 to h do
begin
if (j+1<h)and(f[q,j]<f[p,j+1]+1) then f[q,j]:=f[p,j+1]+1;
if (j-2>=0)and(f[q,j]<f[p,j-2]+5) then f[q,j]:=f[p,j-2]+5;
if (j-5>=0)and(f[q,j]<f[p,j-5]+10) then f[q,j]:=f[p,j-5]+10;
if (j=h-10)and(f[q,j]<a[i]+10) then f[q,j]:=a[i]+10;
if all<f[q,j] then all:=f[q,j];
end;
a[i]:=f[q,h];
end;
end;
begin
init;
main;
write(f2,k);
close(f1); close(f2);
end.