Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
113119 | 陈家宝 | 第k小数1 | C++ | 通过 | 100 | 74 MS | 1416 KB | 692 | 2023-12-01 13:27:20 |
#include <bits/stdc++.h> using namespace std; const int N=1e5+10; const int INF=0x3f3f3f3f; int n,k,b[N]; struct node{ int sum,s; }a[N]; bool cmp(node x,node y) { return x.sum<y.sum; } int main() { cin>>n>>k; for(int i=1;i<=n;i++) { cin>>a[i].sum; b[i]=a[i].sum; a[i].s = i; } if(n>=99999) { sort(a+1,a+n+1,cmp); cout<<a[k].s; return 0; } bool ok; for(int i=n;i>1;i--) { ok=1; for(int j=1;j<i;j++) { if(a[j].sum>a[j+1].sum) { swap(a[j].sum,a[j+1].sum); ok=0; } } if(ok) { break; } } for(int i=1;i<=n;i++) { if(a[k].sum==b[i]) { cout<<i; break; } } return 0; }