Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
31135 | 李姝仪1.0 | 输出前k大的数 | C++ | 通过 | 0 MS | 256 KB | 481 | 2023-11-16 21:02:50 |
#include<iostream> using namespace std; int n,k,a[100010]; void qs(int a[],int l,int r){ int i=l,j=r; int mid=a[(l+r)/2]; while(i<=j){ while(a[i]>mid) i++; while(a[j]<mid) j--; if(i<=j){ int tmp=a[i]; a[i]=a[j]; a[j]=tmp; i++; j--; } } if(l<j) qs(a,l,j); if(i<r) qs(a,i,r); } int main() { cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; } cin>>k; qs(a,1,n); for(int i=1;i<=k;i++){ cout<<a[i]<<endl; } return 0; }