Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
136473 | mairuisheng | 第k小数1 | C++ | 通过 | 100 | 28 MS | 1032 KB | 988 | 2024-03-09 09:41:01 |
#include<bits/stdc++.h> using namespace std; int a[100001], b[100001]; int i, j, m, k, l; void Swap() { swap(a[i], a[j]); swap(i, j); } void Operation(int START, int END) { i = START; j = END; while(i != j) { if(i < j) { if(a[i] > a[j]) Swap(); else j--; } else { if(a[i] < a[j]) Swap(); else j++; } } if(i < k) Operation(i + 1, END); else if(i == k) { for(l = 1; l <= m; l++) { if(b[l] == a[i]) { cout << l << endl; break; } } } else Operation(START, i - 1); } int main() { cin >> m >> k; for(int i = 1; i <= m; i++) { cin >> a[i]; b[i] = a[i]; } Operation(1, m); return 0; }