Cod sursa(job #116306)

Utilizator dragos15Mateescu Dumitru Dragos dragos15 Data 18 decembrie 2007 13:45:41
Problema Multimi2 Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.13 kb
var i,s,k,n,nrm2,nrm1,gau,m1,m2,j:longint;
a:array [1..10000000] of boolean;
f,g:text;
begin
assign(f,'multimi2.in');
reset(f);
assign(g,'multimi2.out');
rewrite(g);
readln(f,n);
gau:=n*(n+1) div 2;
writeln(g,gau mod 2);
if gau mod 2 = 0 then begin
                 m1:=gau div 2;
                 m2:=gau div 2;
                 end else
                 begin
                 m1:=gau div 2 + 1 ;
                 m2:=gau div 2;
                 end;
i:=n;
nrm1:=0;
nrm2:=0;
k:=0;
j:=1;
fillchar(a,sizeof(a),false);
while m1>0 do begin
     if m1-i-k>0 then if a[i-k]=false then begin
                          m1:=m1-i-k;
                          a[i-k]:=true;
                          inc(nrm1);
                          end else i:=i-1;
     if m1>0 then if a[j+k]=false then begin
                  m1:=m1-j+k;
                  a[j+k]:=true;
                  inc(nrm1);
                  end else j:=j+1;
end;
writeln(g,nrm1);
for i:=1 to n do if a[i]=true then write(g,i,' ') else inc(nrm2);
writeln(g);
writeln(g,nrm2);
for i:=1 to n do if a[i]=false then write(g,i,' ');

close(f);
close(g);
end.