
Homework v2.0
By: a guest on
May 26th, 2012 | syntax:
None | size: 0.92 KB | hits: 96 | expires: Never
program GGMU;
var
k,n:longint;
a:array [1..1003] of longint;
f,g:text;
procedure Input();
var
i:longint;
begin
assign(f,'test.in');
reset(f);
read(f,n,k);
for i:=1 to n do read(f,a[i]);
close(f);
end;
procedure Output();
var
i:longint;
begin
assign(g,'test.out');
rewrite(g);
write(g,a[1]);
for i:=2 to n do write(g,' ',a[i]);
writeln(g);
close(g);
end;
procedure Switch(var a,b:longint);
begin
a:=a xor b;
b:=a xor b;
a:=a xor b;
end;
procedure Move(l,r:longint);
begin
while (r>l) do
begin
Switch(a[r],a[r-1]);
r:=r-1;
end;
end;
procedure SetNumber(i:longint);
var
j,pom:longint;
begin
pom:=i;
for j:=i+1 to n do
if ((k>=j-i) and (a[j]>a[pom])) then pom:=j;
Move(i,pom);
k:=k-pom+i;
end;
procedure Solve();
var
i:longint;
begin
for i:=1 to n do SetNumber(i);
end;
begin
Input();
Solve();
Output();
end.