Help!!!离散化求调

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int n,s,p=1,b[100005];
map<int,int>a;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>s;
b[i]=s;
}
sort(b+1,b+n+1);
for(int i=1;i<=n;i++){
if(a.count(b[i])){

	}
	else{
    	a[s]=p;
    	cout<<p<<" ";
    	p++;
	}
}
return 0;

}

问问题之前先截图题目

6,一个新班级?????