はまやんはまやんはまやん

hamayanhamayan's blog

Divide the Problems [AtCoder Beginner Contest 132 C]

https://atcoder.jp/contests/abc132/tasks/abc132_c

解説

https://atcoder.jp/contests/abc132/submissions/6191460

まずはソートしよう。
ソートして、N/2-1個目とN/2個目の間を見れば整数Kの取りうる範囲が分かる。
N/2-1個目の数をA, N/2個目の数をBとすると、条件を満たすKの範囲は(A,B]となる。
つまり条件を満たすKの個数はB-Aとなり、これが答え。

int N, D[101010];
//---------------------------------------------------------------------------------------------------
void _main() {
	cin >> N;
	rep(i, 0, N) cin >> D[i];
	sort(D, D + N);

	int A = D[N / 2 - 1];
	int B = D[N / 2];

	int ans = B - A;

	cout << ans << endl;
}