Cod sursa(job #169907)

Utilizator StigmaSimina Pitur Stigma Data 2 aprilie 2008 10:53:07
Problema Farfurii Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.8 kb
program concurs;
var v:array[1..100000] of int64;
i,j:longint;
n,k,m,d:int64;
f,g:text;


procedure desc(x:longint);
var j,k:longint;
begin
x:=n-x+1;
j:=n;
while x<j do
begin
k:=v[x];v[x]:=v[j];v[j]:=k;
j:=j-1;x:=x+1;
end;
end;



begin
assign(f,'farfurii.in');reset(f);
assign(g,'farfurii.out');rewrite(g);
readln(f,n,k);close(f);
for i:=1 to n do
v[i]:=i;


d:=1+k*8;
 if (trunc(sqrt(d))*trunc(sqrt(d))=d) then
 begin
 d:=trunc(sqrt(d));
 m:=(1+d)div 2;
 desc(m);
 write(g,v[1]);
 for i:=2 to n do write(g,' ',v[i]);
 end
 else
 begin
 d:=trunc(sqrt(d))+1;
 m:=(1+d)div 2;
 desc(m);
  i:=n-((m-1)*m div 2-k);
 for j:=1 to n-m do write(g,v[j],' ');
 write(g,v[i]);
 for j:=n-m+1 to i-1 do write(g,' ',v[j]);
 for j:=i+1 to n do  write(g,' ',v[j]);
 end;
 close(g);
 end.