Cod sursa(job #420769)

Utilizator C0Mr4d3yonootz321 C0Mr4d3 Data 20 martie 2010 15:21:02
Problema Text Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.96 kb
program sume;
var a:array[1..25000,1..25001] of integer;
    f:text;
    p,n,i,j:word;
    b:boolean;
begin
  assign(f,'sume.in');
  reset(f);
  readln(f,p);
  n:=trunc(sqrt(2*p))+1;
  for i:=1 to n-1 do
    for j:=i+1 to n do
      begin
        read(f,a[i,j]);
        a[j,i]:=a[i,j];
      end;
  close(f);
  b:=true;
  if (a[n-2,n-1]+a[n-2,n]-a[n-1,n]) mod 2 = 0 then
    begin
      a[n-2,n+1]:=(a[n-2,n-1]+a[n-2,n]-a[n-1,n]) div 2;
      for i:=1 to n-3 do
        begin
          a[i,n+1]:=a[n-2,i] - a[n-2,n+1];
          if a[i,n+1]<=0 then
            b:=false;
        end;
      a[n-1,n+1]:=a[n-1,1] - a[1,n+1];
      a[n,n+1]:=a[n,1] - a[1,n+1];
      if (a[n-1,n+1]<=0) or (a[n,n+1]<=0) then
        b:=false;
    end
  else
    b:=false;
  assign(f,'sume.out');
  rewrite(f);
  if b then
    begin
      writeln(f,n);
      for i:=1 to n do
        write(f,a[i,n+1],' ');
    end
  else
    writeln(f,-1);
  close(f);
end.