Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
135484 | 江婉儿 | 第k小数1 | C++ | 解答错误 | 90 | 28 MS | 1820 KB | 558 | 2024-03-05 17:17:36 |
#include<bits/stdc++.h> using namespace std; int n,k; struct a { int shu; int wei; }a[100005],b[100005]; void pai(int l,int r) { if(l==r)return; int mid=(l+r)/2; pai(l,mid); pai(mid+1,r); int i=l,j=mid+1,f=l; while(i<=mid&&j<=r) { if(a[i].shu<=a[j].shu) b[f++]=a[i++]; else b[f++]=a[j++]; } while(i<=mid)b[f++]=a[i++]; while(j<=r)b[f++]=a[j++]; for(i=l;i<=r;i++)a[i]=b[i]; } int main() { cin>>n>>k; for(int i=1;i<=n;i++) { cin>>a[i].shu; a[i].wei=i; } pai(1,n); cout<<a[k].wei; return 0; }