伊利 2009-03-22 02:02:00
点我顶贴
收藏
删除
program dizhen;
var maxt,n,k,vn,i,j:integer;
t:real;
v:array [1..300] of integer;
sum:array [1..300,1..10000] of longint;
pass:boolean;
function max (x,y:longint):longint;
begin
if x>y then max:=x else max:=y;
end;
begin
readln(n,vn,k);
for i:=2 to n do
read(v[i]);
sum[n,vn]:=vn;
for i:=n downto 2 do
begin
pass:=false;
for j:=v[i] to v[i]+k do
if sum[i,j]>0 then
begin
pass:=true;
sum[i-1,j-1]:=max(sum[i,j]+j-1,sum[i-1,j-1]);
sum[i-1,j]:=max(sum[i,j]+j,sum[i-1,j]);
sum[i-1,j+1]:=max(sum[i,j]+j+1,sum[i-1,j+1]);
end;
end;
if not(pass) then begin write(’YI DING YAO JIAN CHI JI HUA SHENG YU’); halt; end;
maxt:=-maxint;
for j:=v[2] to v[2]+k do
if sum[2,j]>maxt then maxt:=sum[2,j];
t:=maxt/(n-1);
write(t:0:2);
end.