- 过河
- 2009-08-21 21:18:27 @
教教我怎么才能不超时?
var
n,i:int64;
s,t,m,j,k,x,min,y,l:integer;
a:array[1..100] of int64;
f:array[0..90] of integer;
begin
read(n);
read(s,t,m);
for j:=1 to m do read(a[j]);
for j:=1 to m-1 do
for k:=j+1 to m do
if a[j]>a[k] then
begin
i:=a[j];a[j]:=a[k];a[k]:=i;
end;
i:=-1;j:=-1;l:=1;
min:=101;
while i0 then
begin
x:=101;
if i>=t then y:=t else y:=i;
for k:=s to y do
if x>f[(j-k+t) mod t] then x:=f[(j-k+t) mod t];
f[j]:=f[j]+x;
end;
if (i>=n) and (f[j]
0 条评论
目前还没有评论...