glass.pas added
[srcbox.git] / tyvj / tyvj1104.pas
blob5b69343b06478b62eddceb9297fa8c3f7b2eb52e
1 var
2 n,m,i,j : longint;
3 a : array [0..5000,1..2] of longint;
5 procedure qsort(l,r : longint);
6 var
7 i,j,m : longint;
9 begin
10 i:=l; j:=r;
11 m:=(l+r) div 2;
12 repeat
13 while (a[i,2]>a[m,2]) or ((a[i,2]=a[m,2]) and (a[i,1]<a[m,1])) do inc(i);
14 while (a[j,2]<a[m,2]) or ((a[j,2]=a[m,2]) and (a[j,1]>a[m,1])) do dec(j);
15 if i<=j then
16 begin
17 a[0]:=a[i]; a[i]:=a[j]; a[j]:=a[0];
18 inc(i); dec(j);
19 end;
20 until i>j;
21 if l<j then qsort(l,j);
22 if r>i then qsort(i,r);
23 end; { qsort }
25 procedure sort(l,r : longint);
26 var
27 i,j : longint;
29 begin
30 for i:=l to r-1 do
31 for j:=i+1 to r do
32 if a[i,1]>a[j,1] then
33 begin
34 a[0]:=a[i]; a[i]:=a[j]; a[j]:=a[0];
35 end;
36 end; { sort }
38 begin
39 readln(n,m);
40 for i:=1 to n do
41 readln(a[i,1],a[i,2]);
42 qsort(1,n);
43 m:=trunc(m*1.5);
44 write(a[m,2],' ');
45 j:=1;
46 while (j<=n) and (a[j,2]>=a[m,2]) do inc(j);
47 dec(j);
48 writeln(j);
49 for i:=1 to j do writeln(a[i,1],' ',a[i,2]);
50 end. { main }