var n,k,i,j :longint;
a :array[1..5000]of longint;
f :array[1..5000]of longint;
max :real;
begin
readln(n,k);
for i:=1 to n do readln(a[i]);
f[n]:=1;
for i:=n-1 downto 1 do
begin
max:=-2008;
f[i]:=maxlongint;
for j:=i+1 to i+k do
if (j<=n)and((a[j]-a[i])/(j-i)>=max) then
begin
if f[i]>=f[j]+1 then f[i]:=f[j]+1;
max:=(a[j]-a[i])/(j-i);
end;
end;
writeln(f[1]);
end.
这个40分。。。。
program rq42;
var n,k,i,j :longint;
a :array[1..5000]of longint;
f :array[1..5000]of longint;
max :real;
begin
readln(n,k);
for i:=1 to n do readln(a[i]);
f[n]:=1;
for i:=n-1 downto 1 do
begin
max:=-2008;
f[i]:=maxlongint;
for j:=i+1 to i+k do
if (j<=n)and((a[j]-a[i])/(j-i)>=max) then
begin
if f[i]>=f[j]+1 then f[i]:=f[j]+1;
max:=(a[j]-a[i])/(j-i);
end;
end;
writeln(f[1]);
end.
这个100分。。。。。。
郁闷啊,有什么区别吗?