CadeShuWindsor @ 2022-08-13 09:01:38
如题 真的不明白哪里错了
#include<bits/stdc++.h>
using namespace std;
long long n,k,a[5000005],b[5000005];
int main()
{
scanf("%lld",&n);
scanf("%lld",&k);
for(int i=1;i<=n;i++)
scanf("%lld",&a[i]);
sort(a+1,a+n+1);
b[0]=a[1];
long long rank=1;
for(int i=2;i<=n;i++)
{
if(a[i]!=a[i-1])
{
b[rank]=a[i];
rank++;
}
}
cout<<b[k];
return 0;
}
by irris @ 2022-08-13 09:17:51
@CadeShuWindsor 谁跟你说是严格第
by CadeShuWindsor @ 2022-08-13 09:31:48
@AlgorithmerSnow 本蒟蒻还是不太明白(捂脸) 第k小不是去除多余之后从0开始找吗
by a9876543210 @ 2022-08-13 09:54:38
不用去重吧
by hepp @ 2022-08-13 09:59:46
@CadeShuWindsor
用 sort 只能得60分。
不用去除重复的数字(如:2 2 2 第二小就是 2)
by CadeShuWindsor @ 2022-08-13 10:20:12
@hepp 谢谢大佬,我去试一下