看看
#include<bits/stdc++.h>
using namespace std;
const int N=2*1e5+1;
int n,k,x;
int a[N][3];
int main()
{
scanf("%d",&n);
int num=1;
for(int i=1;i<=n;i++){
scanf("%d",&k);
if(i==1){
a[num][1]++;
a[num][2]=i;
}
else{
if(k==x) a[num][1]++;
else{
a[++num][1]++;
a[num][2]=i;
}
}
x=k;
}
k=num;
while(k>0){
for(int i=1;i<=num;i++){
if(a[i][1]==0){
a[i][1]=-1;
k--;
for(int j=i+1;j<=num;j++){
if(a[j][1]>=1) a[j][2]=a[x][2];
}
continue;
}
else if(a[i][1]==-1) continue;
x=i;
printf("%d ",a[i][2]);
a[i][1]--;
a[i][2]++;
}
printf("\n");
}
return 0;
}