题目描述
现有n个正整数,n≤10000,要求出这n个正整数中的第k个最小整数(相同大小的整数只计算一次),k≤1000,正整数均小于30000。
输入格式
第一行为n和k; 第二行开始为n个正整数的值,整数间用空格隔开。
输出格式
第k个最小整数的值;若无解,则输出“NO RESULT”。
输入输出样例
输入 #1
10 3 1 3 3 7 2 5 1 2 4 6
输出 #1
3
说明/提示
n≤10000
1 #include<bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 set<int>num; 6 int n=0,check=0,in=0; 7 cin>>n>>check; 8 for(int i=0;i<n;i++){ 9 cin>>in; 10 num.insert(in); 11 } 12 if(check>num.size()){ 13 cout<<"NO RESULT"; 14 return 0; 15 } 16 for(int i=0;i<check-1;i++){ 17 num.erase(num.begin()); 18 } 19 cout<<*num.begin(); 20 }