Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
142878 陈家宝 第k小数1 C++ 通过 100 72 MS 1424 KB 617 2024-04-10 13:52:29

Tests(10/10):


#include<bits/stdc++.h> using namespace std; const int N=1e5+10,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; }


测评信息: