Cod sursa(job #120189)
Utilizator | Data | 4 ianuarie 2008 15:11:28 | |
---|---|---|---|
Problema | Multimi2 | Scor | 80 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 2.14 kb |
program alex;
var f:text;
n,i,k:longint;
begin
assign(f,'multimi2.in');reset(f);
readln(f,n);
close(f);
assign(f,'multimi2.out');rewrite(f);
k:=n div 4;
if n mod 4=0 then begin
writeln(f,0);
writeln(f,n div 2);
for i:=1 to k do
write(f,i,' ');
for i:=k*3+1 to n do
write(f,i,' ');
writeln(f);
writeln(f,n div 2);
for i:=k+1 to k*3 do
write(f,i,' ');
end;
if n mod 4=3 then begin
writeln(f,0);
writeln(f,n div 2+1);
write(f,1,' ',2,' ');
for i:=4 to k+3 do
write(f,i,' ');
for i:=k*3+4 to n do
write(f,i,' ');
writeln(f);
writeln(f,n div 2);
write(f,3,' ');
for i:=k+4 to k*3+3 do
write(f,i,' ');
end;
if(n mod 4=2)and(n<>2)then begin
writeln(f,1);
writeln(f,n div 2);
write(f,1,' ');
for i:=2 to k+2 do
write(f,i,' ');
for i:=k*2+3 to n do
write(f,i,' ');
writeln(f);
writeln(f,n div 2+1);
for i:=k+3 to k*3+2 do
write(f,i,' ');
end;
if n mod 4=1 then begin
writeln(f,1);
writeln(f,n div 2+1);
for i:=1 to k+1 do
write(f,i,' ');
for i:=k*3+2 to n do
write(f,i,' ');
writeln(f);
writeln(f,n div 2);
for i:=k+2 to k*3+1 do
write(f,i,' ');
end;
if n=2 then begin
writeln(f,1);
writeln(f,1);
writeln(f,1);
writeln(f,1);
writeln(f,2);
end;
close(f);
end.