#include<iostream>
#define slb_ shuanglianbiao
using namespace std;
struct shuanglianbiao{
int data,next,last;
}a[200050];
int head[200050],cnt=0,c2;
int vis[200050];
int n;
int main()
{
cin>>n;
a[0].data=-1;
for(int i=1;i<=n;i++)
{
a[i].last=i-1,a[i].next=i+1;
cin>>a[i].data;
if(a[i].data!=a[i-1].data) head[++cnt]=i;
}
a[n].next=0;
c2=n;
while(c2)
{
for(int i=1;i<=cnt;i++) if(head[i]&&!vis[head[i]])
{
cout<<head[i]<<' ';
vis[head[i]]=1;
c2--;
a[a[head[i]].last].next=a[head[i]].next;
a[a[head[i]].next].last=a[head[i]].last;
head[i]=a[head[i]].next;
int j=i+1;
while(i<cnt&&!head[j++]);
if((i<cnt&&head[i]==head[i+1])||head[i]>n) head[i]=0;
}
for(int i=1;i<=cnt;i++) if(head[i])
{
if(a[a[head[i]].last].data==a[head[i]].data||head[i]>n) head[i]=0;
}
cout<<endl;
//for(int i=head[1];i;i=a[i].next) cout<<a[i].data<<' ';
//cout<<endl;
}
return 0;
}
TLE #6 #8 #9
求助