Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
136646 | 吴晨曦 | 第k小数1 | C++ | 解答错误 | 0 | 10 MS | 652 KB | 551 | 2024-03-09 11:21:18 |
#include <bits/stdc++.h> using namespace std; int a[10000000], k; void quickSort(int l, int r) { int i = l, j = r, mid = a[(l + r) / 2]; do { while (a[j] > mid) j--; while (a[i] < mid) i++; if (i <= j) { swap(a[i], a[j]); i++; j--; } } while (i <= j); if (k <= j) quickSort(l, j); else if (i <= k) quickSort(i, r); else { printf("%d", a[j + 1]); exit(0); } } int main() { int n; scanf("%d%d", &n, &k); for (int i = 0; i < n; i++) scanf("%d", &a[i]); quickSort(0, n - 1); }