Cod sursa(job #110048)

Utilizator ionescu88alex ionescu ionescu88 Data 25 noiembrie 2007 16:45:27
Problema Multimi2 Scor 40
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.12 kb
var fi,fo:text;
    n,rez1,rez2,aux,i:longint;
    nr:int64;
    sol1,sol2:array[1..1000000]of longint;
    ct1,ct2:longint;
begin
     assign(fi,'multimi2.in'); reset(fi);
     assign(fo,'multimi2.out'); rewrite(fo);
     read(fi,n);
     nr:=n*(n+1) shr 1;
     ct1:=0; ct2:=0;
     if nr and 1=1 then
        begin
          rez1:=(nr-1) shr 1 + 1;
          rez2:=(nr-1) shr 1;
        end
      else
        begin
          rez1:=nr shr 1;
          rez2:=nr shr 1;
        end;
      writeln(fo,rez1-rez2);
      for i:=n downto 1 do
        begin
             if (rez1-i)<=0 then begin inc(ct1); sol1[ct1]:=rez1; aux:=rez1; break; end;
             inc(ct1);
             sol1[ct1]:=i;
             rez1:=rez1-i;
        end;
      for i:=1 to n-ct1+1 do
        if i<>aux then
           begin
                inc(ct2);
                sol2[ct2]:=i;
           end;
      writeln(fo,ct1);
      for i:=ct1 downto 1 do
        write(fo,sol1[i],' ');
      writeln(fo);
      writeln(fo,ct2);
      for i:=1 to ct2 do
        write(fo,sol2[i],' ');
      close(fi);
      close(fo);
end.