ji20101333 @ 2022-04-18 09:17:53
#include<bits/stdc++.h>
using namespace std;
map<int,bool> a;
int n,m,i,x,num[5000001],cnt;
int main()
{
cin>>n>>m;
for(i=1;i<=n;i++)
{
scanf("%d",&x);
if(!a.find(x)->second)
num[++cnt]=x,a[x]=1;
}
sort(num+1,num+cnt+1);
cout<<num[m+1];
return 0;
}
代码如上,前三个点WA,后两个点T了
求问为什么会WA(
评测记录
by Gispy @ 2022-04-18 09:26:20
直接排序后输出不香吗???
by Gispy @ 2022-04-18 09:27:14
@ji20101333 建议使用scanf
by 编码落寞 @ 2022-04-18 09:29:16
@ji20101333
可能数据有重的吧
by Gispy @ 2022-04-18 09:32:45
@ji20101333 我这个代码吸氧能过
#include<bits/stdc++.h>
using namespace std;
int a[5000001];
int main(){
int n,m;
scanf("%d%d",&n,&m);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
sort(a,a+n);
printf("%d",a[m]);
}
by Gispy @ 2022-04-18 09:33:29
吸氧是个好东西
by ji20101333 @ 2022-04-18 09:40:09
解决了!谢谢大家!
解释一下,是因为题目不是去重后找第k小,我理解错题意辽(尬住