#include<iostream>
using namespace std;
int arr[200010];
int main(){
int tmax=0;
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>arr[i];
}
arr[n+1]=-1;
bool flag=1;
int r=0;
while(true){
flag=1;
int i=0;
int temp=-1;
while(i<=n){
if(arr[i]==-1 || arr[i]==temp) i++;
else{
temp=arr[i];
cout<<i<<" ";
arr[i]=-1;
i++;
flag=0;
}
}
cout<<endl;
if(flag) break;
}
}
这是我自己想出来的方案,没有用队列,样例全对但是测试全错,直觉告诉我我不可能这么聪明,想出这么简单的算法,所以求大佬告诉我一下我哪里理解错了?(