#include <bits/stdc++.h>
using namespace std;

const int N = 1024;
int a[N];
int n; // 要输入的n个元素
int main()
{
int k; // 大元素中的第K个
while( scanf("%d %d",&n,&k) != EOF) // 按Ctrl+z后,按回车结束输入
{
for(int i = 0;i < n;i ++)
{
scanf("%d",&a[i]);
}
std::priority_queue<int,vector<int>,greater<int> > p_q; // 用这个队列模拟小根堆,堆顶最小,但是是n个元素中的第K大
for(int i = 0;i < n;i ++)
{
p_q.push(a[i]);
if(p_q.size() > k)
p_q.pop();
}
cout << "该元素为:" <<p_q.top() << endl;
}
return 0;
}

参考知识点 :

​​greater的用例:​​
​​for(auto x : s)statment 和 for(auto & x:s)statment的用例:一​​
​​for(auto x : s)statment 和 for(auto & x:s)statment的用例:二​​
​​EOF结束输入的用例:​​