题目描述
现有 n 个正整数,要求出这 n 个正整数中的第 k 个最小整数(相同大小的整数只计算一次)。
输入
第一行为 n 和 k; 第二行开始为 n 个正整数的值,整数间用空格隔开
输出
第k个最小整数的值;若无解,则输出 NO RESULT
样例输入
10 3 1 3 3 7 2 5 1 2 4 6
样例输出
3
思路
1.排序 sort
2.去重 unique
代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,k;
cin>>n>>k;
int a[n];
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a,a+n);
int x=unique(a,a+n)-a;
if(k<=x){
cout<<a[k-1];
return 0;
}
cout<<"NO RESULT";
}