/ Vijos / 讨论 / 过河 /

教教我怎么才能不超时?

教教我怎么才能不超时?

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 条评论

目前还没有评论...

信息

ID
1002
难度
7
分类
动态规划 点击显示
标签
递交数
25264
已通过
4390
通过率
17%
被复制
76
上传者