记录编号 1309 评测结果 AAAAAAAAAA
题目名称 [IOI 1994] 数塔 最终得分 100
用户昵称 GravatarEnAsn 是否通过 通过
代码语言 Pascal 运行时间 10.000 s
提交时间 2008-09-01 20:40:50 内存使用 0.00 MiB
显示代码纯文本
program ex;
type
 ss=array[1..80,1..80]of longint;
var
 a,b:ss;
 f1,f2:text;
 n,i,j:integer;
procedure init;
 var
  i,j:integer;
 begin
  assign(f1,'shuta.in');
  assign(f2,'shuta.out');
  reset(f1);
  rewrite(f2);
  readln(f1,n);
  for i:=1 to n do
   for j:=1 to i do
    read(f1,a[i,j]);
  for i:=1 to n do
   b[n,i]:=a[n,i];
 end;
procedure main;
 var
  i,j:integer;
 begin
  for i:=n-1 downto 1 do
   for j:=1 to i do
     if a[i,j]+b[i+1,j+1]<a[i,j]+b[i+1,j]
       then
         b[i,j]:=a[i,j]+b[i+1,j]
       else
         b[i,j]:=a[i,j]+b[i+1,j+1];
 end;
procedure print;
 var
  i,j:integer;
 begin
  writeln(f2,b[1,1]);
  j:=1;
  write(f2,a[1,1],' ');
  for i:=2 to n do
   if b[i,j]>=b[i,j+1]
     then write(f2,a[i,j],' ')
     else begin
           inc(j);
           write(f2,a[i,j],' ');
          end;
 end;
begin
 init;
 main;
 print;
 close(f1);
 close(f2);
end.