#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
int n,k,m;
int i;
int a[101],judge[101][2]={0},b[101]={0};
cin>>n>>k;
m=k;
for(i=0;i<n;i++)
{
cin>>a[i];
if(judge[a[i]][0]==0)
{
k--;
judge[a[i]][0]=1;
judge[a[i]][1]=i+1;
}
}
if(k==0)
{
cout<<"YES"<<endl;
for(i=0;i<n;i++)
{
if(judge[a[i]][0]==1)
{
b[a[i]]=judge[a[i]][1];
}
}
sort(b,b+101);
for(i=0;i<101 && m;i++)
{
if(b[i]!=0)
{
cout<<b[i]<<" ";
m--;
}
}
return 0;
}
cout<<"NO"<<endl;
return 0;
}
- 求解,我感觉输出没问题啊,答案也没问题,但是WA,求大佬康康代码,给个解释,谢谢啦。
- 思路就是先模拟,把不重复的数字作为judge][0]的位置填上1,在judge[][1]上填入它的序号。 然后为了防止重复输出再写入一个数组b,输出就完了。
- 求解WA声一片的原因。。。