题解 AT4290 【[ABC132C] Divide the Problems】

· · 题解

ChungZH's blog · ChungZH's portfolio

高桥在竞争性编程中提出了 N 个问题,问题编号为 1N,问题 i 的难度表示为整数 d_i(越高难度越大)。

他通过选择整数 K 将问题分为两类,如下所示:

  • 对于 ARC,难度为 K 或更高的问题。
  • 难度低于 K 的问题将是 ABC

整数 K 有多少种选择可以使 ARC 的问题数和 ABC 的问题数相同?

我们把 $d$ 数组排序,然后求中间两个数之间的差即可。 ```cpp #include <algorithm> #include <cstdio> #include <cstring> #include <iostream> using namespace std; int n; int a[100005]; int main() { scanf("%d", &n); for (int i = 0; i < n; i++) scanf("%d", &a[i]); sort(a, a + n); printf("%d\n", a[n / 2] - a[n / 2 - 1]); return 0; } ```