Run ID 作者 问题 语言 测评结果 时间 内存 代码长度 提交时间
31131 sunhuifeng 输出前k大的数 C++ 运行超时 1000 MS 256 KB 514 2023-11-16 20:58:07

Tests(0/1):


#include<iostream> using namespace std; int n,k,a[100001]; void qs(int a[],int left,int right){ int i=left,j=right; int mid=a[(left+right)/2]; while(i<=j){ while(a[i]>mid) i++; while(a[j]<mid) i--; if(i<=j){ int tmp=a[i]; a[i]=a[j]; a[j]=tmp; i++; j--; } if(left<j) qs(a,left,j); if(i<right) qs(a,i,right); } } int main(){ cin>>n; for(int i=1;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; }


测评信息: