map,Hash表,unordered_map更优
int n;
map<int,int>Hash;
int query(int x)
{
if(Hash.count(x)==0)
Hash[x]=++n;
return Hash[x];
}
int main()
{
for(int i=0;i<5;i++)
query(i);
cout<<Hash.size();
return 0;
}
sort,unique,lower_bound
int a[N],b[N],n,m;
void discrete()
{
sort(a+1,a+n+1);
m=unique(a+1,a+n+1)-(a+1);
}
int query(int x)
{
return lower_bound(a+1,a+m+1,x)-a-1;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
a[i]=i;
discrete();
for(int i=1;i<=m;i++)
cout<<a[i]<<" ";
cout<<query(4);
}