Cod sursa(job #219537)

Utilizator laurpoppopescu laurentiu laurpop Data 7 noiembrie 2008 11:39:53
Problema Multimi2 Scor 50
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.46 kb
var n,s,s1,x,y,i,nr1,nr2,s2:longint;
f:text;
begin

assign(f,'multimi2.in');reset(f);
read(f,n);
close(f);
assign(f,'multimi2.out');rewrite(f);

if n mod 4=0 then
begin
   writeln(f,0);
   writeln(f,n div 2);
   for i:=1 to n do
     if (i mod 4=0) or (i mod 4=3) then
         write(f,i, ' ');
    writeln(f);
    writeln(f, n div 2);
   for i:=1 to n do
     if (i mod 4=1) or (i mod 4=2) then
         write(f,i, ' ');
   end
 else
   if n mod 4=1 then
     begin
      writeln(f,1);
      writeln(f,n div 2);
  for i:=2 to n do
     if (i mod 4=0) or (i mod 4=3) then
         write(f,i, ' ');
    writeln(f);
    writeln(f, n div 2+1);
   for i:=1 to n do
     if (i mod 4=1) or (i mod 4=2) then
         write(f,i, ' ');
   end

 else
  if n mod 4=2 then
   begin
     writeln(f,1);
      writeln(f,n div 2);
      write(f,1,' ');
  for i:=3 to n do
     if (i mod 4=0) or (i mod 4=3) then
         write(f,i, ' ');
    writeln(f);
    writeln(f, n div 2);
    write(f,2,' ');
   for i:=3 to n do
     if (i mod 4=1) or (i mod 4=2) then
         write(f,i, ' ');
   end

 else
  begin

      writeln(f,0);
      writeln(f,n div 2+1);
      write(f,1,' ',2,' ');
  for i:=4 to n do
     if (i mod 4=0) or (i mod 4=3) then
         write(f,i, ' ');
    writeln(f);
    writeln(f, n div 2);
    write(f,3,' ');
   for i:=3 to n do
     if (i mod 4=1) or (i mod 4=2) then
         write(f,i, ' ');
   end;
close(f);
 end.