洛谷 P1138 第k小整数

题目描述

现有n个正整数,n≤10000,要求出这n个正整数中的第k个最小整数(相同大小的整数只计算一次),k≤1000,正整数均小于30000

输入格式

第一行为nk; 第二行开始为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 }

猜你喜欢

转载自www.cnblogs.com/anbujingying/p/11293670.html