记录编号 674 评测结果 WTATTEEEEE
题目名称 [NOI 1999]生日蛋糕 最终得分 10
用户昵称 Gravatarbing 是否通过 未通过
代码语言 Pascal 运行时间 3.123 s
提交时间 2008-07-20 16:16:16 内存使用 0.00 MiB
显示代码纯文本
program cake;
var
 n,m,r,h,s,s0:integer;
 f1,f2:text;
 i,j:integer;
procedure init;
begin
 assign(f1,'cake.in');reset(f1);
 assign(f2,'cake.out');rewrite(f2);
 readln(f1,n);
 readln(f1,m);
 s0:=n+1;
end;
procedure nb(i,r,h,v,s:integer);
var j,k:integer;s1:integer;v1:integer;
begin
 for j:= 1to r-1 do
  for k:=1to h-1 do
  begin
     if v>=j*j*k then begin
     v:=v-j*j*k;
     s:=s+2*k*j;
     if (i=m)and (v=0) then begin
     if s<=s0 then s0:=s;end
     else
     if (i<m)and(v>0) then
     nb(i+1,j,k,v,s);
     v:=v+j*j*k;
     s:=s-2*k*j;
     end;
  end;
end;
begin
 init;
 for i:=1 to trunc(sqrt(n)) do
  for j:= 1 to n div (i*i) do
 nb(2,i,j,n-i*i*J,i*i+2*i*j);
 write(f2,s0);
 close(f1);close(f2);
end.