社区讨论

前两个测试点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 条回复,欢迎继续交流。

正在加载回复...