洛谷-P1138 第k小整数
程序员文章站
2022-03-03 09:05:41
...
题目描述
现有nn个正整数,n≤10000n≤10000,要求出这nn个正整数中的第kk个最小整数(相同大小的整数只计算一次),k≤1000k≤1000,正整数均小于3000030000。
输入格式
第一行为nn和kk; 第二行开始为nn个正整数的值,整数间用空格隔开。
输出格式
第kk个最小整数的值;若无解,则输出“NO RESULT”。
输入输出样例
输入 #1复制
10 3 1 3 3 7 2 5 1 2 4 6
输出 #1复制
3
说明/提示
n≤10000n≤10000
代码:
#include <bits/stdc++.h>
using namespace std;
int a[10005];
int main() {
int n,k;
cin>>n>>k;
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a,a+n);//默认升序
//sort(a,a+n,greater<int>) 降序
int count=unique(a,a+n)-a;//unique(a,a+n) 去重,并返回最后一个元素+1的位置
if(k<=count){
cout<<a[k-1];
}else{
cout<<"NO RESULT";
}
return 0;
}
上一篇: Docker-compose
下一篇: java压缩文件