提交时间:2024-03-02 17:18:24

运行 ID: 134741

#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; }