第K小整数

题目链接:https://bzoj.org/p/P01253
Description
现有n个正整数,n<=10000,要求出这n个正整数中的第k个最小整数(相同大小的整数只计算一次),k<=1000,正整数均小于30000。
Input
第一行为n和k,第二行开始为n个正整数的值,整数间用空格隔开。
Output
第k个最小整数的值;若无解,则输出“No result”。
Samples
输入数据 1
10 3
1 3 3 7 2 5 1 2 4 6
输出数据 1
3
Limitation
1s, 1024KiB for each test case.
Sol:本题主要考验unique的使用.
代码:

#include<bits/stdc++.h>
using namespace std;
const long long s=1e7;
long long a[s];
int main(){
	long long n,k;
	cin>>n>>k;
	for(long long i=1;i<=n;i++)
		cin>>a[i];
	sort(a+1,a+n+1);
	n=unique(a+1,a+n+1)-a;
	if(k>=n){
		cout<<"No result";
		return 0;
	}
	cout<<a[k];
	return 0;
}

创作不易,点个赞再走吧!

posted @ 2024-07-04 22:21  Ace基德  阅读(161)  评论(0)    收藏  举报