~~
type node=record nu,av,fch:longint;end;
var
inf:array[0..1000] of node;
s:longint;
ava,fc:array[0..10] of longint;
sum,sum2,n,m,k,i,j:longint;
procedure qsort(l,r:longint);
var i,j:longint;
t:node;
begin
i:=l;j:=r;t:=inf[i];
while i<j do begin
while (i<j)and((inf[j].av<t.av)or((inf[j].av=t.av)and(inf[j].fch>t.fch))or((inf[j].av=t.av)and(inf[j].fch=t.fch)and(inf[j].nu>t.nu))) do dec(j);
if i<j then begin inf[i]:=inf[j];inc(i);end;
while (i<j)and((inf[i].av>t.av)or((inf[i].av=t.av)and(inf[i].fch<t.fch))or((inf[i].av=t.av)and(inf[i].fch=t.fch)and(inf[i].nu<t.nu))) do inc(i);
if i<j then begin inf[j]:=inf[i];dec(j);end;
end;
inf[i]:=t;
if l<i-1 then qsort(l,i-1);
if i+1<r then qsort(i+1,r);
end;
begin
readln(n,m,k);
for i:=1 to n do begin
sum:=0;
sum2:=0;
for j:=1 to k do begin
read(s);
inc(sum,s);
sum2:=sum2+s*s;
end;
ava[i]:=trunc(sum/k);
fc[i]:=trunc((sum2-k*ava[i]*ava[i])/k);
readln;
end;
for i:=1 to n do begin
inf[i].nu:=i;
inf[i].av:=ava[i];
inf[i].fch:=fc[i];
end;
qsort(1,n);
for i:=1 to m do
write(inf[i].nu,' ');
writeln;
end.
错哪了呢??