Cod sursa(job #300297)

Utilizator dyenutzaBalutoiu Diana dyenutza Data 7 aprilie 2009 12:49:25
Problema Multimi2 Scor 50
Compilator fpc Status done
Runda Arhiva de probleme Marime 2.83 kb
var f:text;
    i,n:longint;
begin
assign(f,'multimi2.in');
reset(f);
read(f,n);
close(f);
if n mod 4=0 then begin
                  assign(f,'multimi2.out');
                  rewrite(f);
                  writeln(f,0);
                  writeln(f, n div 2);
                  for i:=1 to n div 2 do
                      if i mod 2=1 then write(f,i,' ');
                  for i:=n div 2+1 to n do
                      if i mod 2=0 then write(f,i,' ');
                  writeln(f);
                  writeln(f,n div 2);
                  for i:=1 to n div 2 do
                      if i mod 2=0 then write(f,i,' ');
                  for i:=n div 2+1 to n do
                      if i mod 2=1 then write(f,i,' ');
                  close(f);
                  halt;
                  end
else
if n mod 4=1 then begin
                  assign(f,'multimi2.out');
                  rewrite(f);
                  writeln(f,n div 2+1);
                  writeln(f, n div 2+1);
                  for i:=1 to n do
                      if i mod 2=1 then write(f,i,' ');
                  writeln(f);
                  writeln(f,n div 2);
                  for i:=1 to n do
                      if i mod 2=0 then write(f,i,' ');
                  close(f);
                  halt;
                  end
else
if n mod 4=2 then begin
                  assign(f,'multimi2.out');
                  rewrite(f);
                  writeln(f,1);
                  writeln(f, n div 2);
                  for i:=1 to n div 2-1 do
                      if i mod 2=1 then write(f,i,' ');
                  for i:=n div 2+1 to n do
                      if i mod 2=0 then write(f,i,' ');
                  writeln(f);
                  writeln(f,n div 2);
                  for i:=1 to n div 2-1 do
                      if i mod 2=0 then write(f,i,' ');
                  for i:= n div 2 to n do
                      if i mod 2=1 then write(f,i,' ');
                  close(f);
                  halt;
                  end
else
if n mod 4=3 then begin
                  assign(f,'multimi2.out');
                  rewrite(f);
                  writeln(f,n div 2-1);
                  writeln(f,n div 2+1);
                  for i:=1 to n div 2 do
                      if i mod 2=1 then write(f,i,' ');
                  write(f,n div 2+1,' ');
                  for i:=n div 2+4 to n do
                      if i mod 2=1 then write(f,i,' ');
                  writeln(f);
                  writeln(f,n div 2);
                  for i:=1 to n div 2-1 do
                      if i mod 2=0 then write(f,i,' ');
                  write(f,n div 2+2,' ');
                  for i:=n div 2+3 to n do
                      if i mod 2=0 then write(f,i,' ');
                  close(f);
                  halt;
                  end;
end.