洛谷提交没有问题,本地运行就会 “停止工作”。

#include <bits/stdc++.h>
#define de "debug"
using namespace std;
typedef long long ll;
const int N=200005;
int n,a[N],lst[N];
bool vis[N];
int main(){
cin >>n;
for(int i=1;i<=n;i++)cin >>a[i],lst[i]=i-1;
a[0]=!a[1];
vector<int>ans[N];
for(int t=1;t<=n;t++){
bool flg=true;
for(int i=1;i<=n;i++){
if(!vis[i]){
flg=false;
if(a[lst[i]]==a[i]&&lst[i]!=0)continue;
ans[t].push_back(i);
vis[i]=1;
cout <<i <<" ";
}
}
for(auto x:ans[t]){
int Lst=x,nxt=x;
while(vis[Lst])Lst--;
while(vis[nxt])nxt++;
lst[nxt]=Lst;
}
if(flg)break;
cout <<"\n";
}
return 0;
}