AcWing 786. 第k个数
Posted MangataTS
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AcWing 786. 第k个数相关的知识,希望对你有一定的参考价值。
题目链接
https://www.acwing.com/problem/content/788/
思路
先用一种 n l o g 2 n nlog_2n nlog2n的排序算法排序,然后输出第k个元素即可
代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mod 1000000009
#define endl "\\n"
#define PII pair<int,int>
ll ksm(ll a,ll b)
ll ans = 1;
for(;b;b>>=1LL)
if(b & 1) ans = ans * a % mod;
a = a * a % mod;
return ans;
ll lowbit(ll x)return -x & x;
const int N = 2e6+10;
int n,a[N];
void mysort(int a[],int l,int r)
if(l >= r) return;
int x = a[l + r >> 1],i = l - 1,j = r + 1;
while(i < j)
while(a[++i] < x);
while(a[--j] > x);
if(i < j) swap(a[i],a[j]);
mysort(a,l,j);
mysort(a,j+1,r);
int main()
int k;
scanf("%d%d",&n,&k);
for(int i = 0;i < n; ++i)
scanf("%d",&a[i]);
mysort(a,0,n-1);
printf("%d\\n",a[k-1]);
return 0;
以上是关于AcWing 786. 第k个数的主要内容,如果未能解决你的问题,请参考以下文章
2022下半年 Acwing 第二篇:AcWing 786. 第k个数
2022下半年 Acwing 第二篇:AcWing 786. 第k个数