Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
134741 | 朱悦晨 | 第k小数1 | C++ | 通过 | 100 | 27 MS | 1036 KB | 548 | 2024-03-02 17:18:24 |
#include<bits/stdc++.h> using namespace std; int a[100005],b[100005]; int n,k; int quick(int i,int j){ int m,n,temp,k; m = i;n = j; k = a[(i+j) / 2]; while(m <= n){ while(a[m] < k && m < j) m++; while(a[n] > k && n > 1) n--; if(m <= n){ swap(a[n],a[m]); m++;n--; } } if(m < j) quick(m,j); if(n > i) quick(i,n); } int main() { cin>>n>>k; for(int i=1;i<=n;i++){ cin>>a[i]; b[i] = a[i]; } quick(1,n); for(int i=1;i<=n;i++){ if(b[i] == a[k]){ cout<<i; break; } } return 0; }