(中位数)给定 n(n 为奇数且小于 1000)个整数,整数的范围在 0~m(0 < m < 231)之间,请使用二分法求这 n 个整数的中位数。所谓中位数,是指将这 n 个数排序之后,排在正中间的数。(第五空 2 分,其余 3 分)
const MAXN = 1000; var n, i, lbound, rbound, mid, m, count : longint; x : array [1..MAXN] of longint; begin read(n, m); for i := 1 to n do read(x[i]); lbound := 0; rbound := m; while 1 do begin mid := (lbound + rbound) div 2; 2; for i := 1 to n do if 3 then 4; if count > n div 2 then lbound := mid + 1 else 5; end; writeln(rbound); end.
