Cod sursa(job #556878)

Utilizator ForkeySandoiu Fernando Forkey Data 16 martie 2011 12:45:54
Problema Multimi2 Scor 50
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.59 kb
program multimi2;
var n,i,S,D,c,x,p:longint;
    v,a:array[1..100] of integer;
    f,g:text;
begin
    assign(f,'multimi2.in');
    reset(f);
    assign(g,'multimi2.out');
    rewrite(g);
    read(f,n);
    c:=n mod 4;
    if c=0 then begin
       writeln(g,'0 ');
       writeln(g,n div 2);
       for i:=1 to n do
           if (i mod 4 =1) or (i mod 4 =0) then write(g,i,' ');
           writeln(g);
       writeln(g,n div 2);
       for i:=1 to n do
           if (i mod 4 =2) or (i mod 4 =3) then write(g,i,' ');
           writeln(g);
       end;
    if c=1 then begin writeln(g,'1 ');
       writeln(g,n div 2+1);
       for i:=1 to n do
           if (i mod 4 =2) or (i mod 4 =3) then write(g,i,' ');
           writeln(g);
       writeln(g,n div 2);
       for i:=1 to n do
           if (i mod 4 =0) or (i mod 4 =1) then write(g,i,' ');
           writeln(g);
       end;
     if c=2 then begin writeln(g,'1 ');
       writeln(g,n div 2);
       for i:=1 to n do
           if (i mod 4 =1) or (i mod 4 =3) then write(g,i,' ');
           writeln(g);
       writeln(g,n div 2);
       for i:=1 to n do
           if (i mod 4 =0) or (i mod 4 =2) then write(g,i,' ');
           writeln(g);
       end;
     if c=3 then begin writeln(g,'0 ');
       writeln(g,n div 2+1);
       for i:=1 to n do
           if (i mod 4 =1) or (i mod 4 =2) then write(g,i,' ');
           writeln(g);
       writeln(g,n div 2);
       for i:=1 to n do
           if (i mod 4 =3) or (i mod 4 =0) then write(g,i,' ');
           writeln(g);
       end;
       close(f);close(g);
end.