Pagini recente » Cod sursa (job #186941) | Cod sursa (job #337286) | Cod sursa (job #873107) | Cod sursa (job #1576499) | Cod sursa (job #210708)
Cod sursa(job #210708)
program pascal;
var f,g:text;
n,sum:int64; i,k,p:longint;
x,v:array[1..1000000] of longint;
procedure test1;
begin
k:=0;
sum:=0;
i:=n;
while sum+i<=(n*(n+1) div 4) do
begin
sum:=sum+i;
k:=k+1;
v[k]:=i;
i:=i-1;
end;
if sum<(n*(n+1) div 4) then
begin
k:=k+1;
v[k]:=(n*(n+1) div 4)-sum;
end;
writeln(g,k);
for i:=k downto 1 do
begin
write(g,v[i],' ');
x[v[i]]:=1;
end;
writeln(g);
writeln(g,n-k);
p:=n-k+1;
for i:=1 to n do
begin
if x[i]=0 then write(g,i,' ');
p:=p-1;
if p=0 then break;
end;
end;
begin
assign(f,'multimi2.in'); reset(f);
assign(g,'multimi2.out'); rewrite(g);
read(f,n);
if (n*(n+1)div 2) mod 2=1 then
begin
writeln(g,1);
test1;
end
else
begin
writeln(g,0);
test1;
end;
close(f);
close(g);
end.