社区讨论
前两个测试点TLE,后三个AC,大佬帮我看看
P1923【深基9.例4】求第 k 小的数参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lubklwqw
- 此快照首次捕获于
- 2024/03/29 02:30 2 年前
- 此快照最后确认于
- 2024/03/29 15:52 2 年前
CPP
#include<iostream>
using namespace std;
int n,arr[5000005];
void quicksort(int start,int end)
{
int i=start,j=end,key=arr[(start+end)/2];
while(i<j)
{
while(i<j&&arr[j]>key)
{
--j;
}
while(i<j&&arr[i]<key)
{
++i;
}
swap(arr[i],arr[j]);
}
if(n<i)quicksort(start,i-1);
else if(n>i)quicksort(i+1,end);
else
{
return;
}
}
int main()
{
int m;
scanf("%d%d",&m,&n);
for(int i=0;i<m;++i)
{
scanf("%d",&arr[i]);
}
quicksort(0,m-1);
printf("%d",arr[n]);
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...