koukou 2013-06-21 06:15:00
点我顶贴
收藏
删除
program magic;
type aa=record
a,b:longint;
end;
var
n,i,j,k,q:longint;
w:array[0..50000] of aa;
e:array[1..10] of longint;
procedure qs(s,t:longint);
var
i,j,m:longint; x:aa;
begin
i:=s;j:=t; m:=w[(i+j) div 2 ].a;
repeat
while (w[i].a>m) or ((w[i].a=m) and (w[i].b<w[(i+j) div 2].b))do inc(i);
while (w[j].a<m) or ((w[i].a=m) and (w[i].b>w[(i+j) div 2].b)) do dec(j);
if i<=j then
begin
x:=w[i];w[i]:=w[j];w[j]:=x;
inc(i);dec(j);
end;
until i>j ;
if i<t then qs(i,t);
if j>s then qs(s,j);
end;
begin
readln(n,k);
for i:=1 to 10 do read(e[i]);
for i:=1 to n do begin read(w[i].a); w[i].b:=i; end;
qs(1,n);
for i:=1 to n do
begin
q:=(i-1) mod 10+1;
w[i].a:=w[i].a+e[q];
end;
qs(1,n);
for i:=1 to k do write(w[i].b,' ');
end.