洛谷 P1923 题解
更佳的阅读体验:洛谷 P1923 题解
简要题意:给定一个 $n$ 个元素的序列 $a$,最小的数是第 $0$ 小,求第 $k$ 小的数。
提供一个非正解的暴力做法。
我们直接对数组排序,然后输出 $a_k$ 即可。
由于本题数据规模较大($n \le 5 \times 10^6$),因此需要关闭流同步才能卡过去。
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 5e6 + 10;
int n, k, a[N];
int main() {
cin.tie(nullptr); // 这两句用于关闭流同步,但关流后不可以混用 cin / scanf
ios::sync_with_stdio(false);
cin >> n >> k;
for (int i = 0; i < n; ++i) cin >> a[i];
sort(a + 1, a + n + 1);
cout << a[k] << '\n';
return 0;
}