题目描述
要求在N个不重复的整数中,找出第K大的整数 ,其中0<K<N<1000000
输入
输入第一行为两个正整数N K
第二行为N个整数,输入保证这N个整数两两相异,每个整数的范围在-1000000到1000000之间
输出
输出第K大的整数值
样例输入 复制
5 3
3 2 4 5 1
样例输出 复制
3
提示
可以借鉴快速排序的思想,先划分,再确定查找范围
你说什么?stl?好的!
#include<bits/stdc++.h>
using namespace std;
long long a[1000000];
int main(){
long long n,k;
cin>>n>>k;
for(long long i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
sort(a,a+n-1); //stl库函数,就是快排
cout<<a[n-1-k];
}