4个点TLE,求教
查看原帖
4个点TLE,求教
1023960
135791a楼主2024/7/11 23:07
#include<bits/stdc++.h>
using namespace std;
struct node{
	int v,nx,p;
}a[200005];
int n,h=1;
int main(){
	scanf("%d",&n);
	for (int i=1;i<=n;i++) {
		scanf("%d",&a[i].v);
		a[i].p=i-1;
		if (i!=n) a[i].nx=i+1;
		else a[i].nx=-1;
	}
	while (1){
		int q=-1;
		if (h==-1) break;
		for (int i=h;i!=-1;i=a[i].nx) {
			if (q!=a[i].v){
				q=a[i].v;
				if (i==h) {
					h=a[i].nx;
				}else {
					if (a[i].nx==-1) {
						a[a[i].p].nx=-1;
					}else {
						a[a[i].nx].p=a[i].p;
						a[a[i].p].nx=a[i].nx;
					}
				}
				printf("%d ",i);
			}
		}
		printf("\n");
	}
	return 0;
}
2024/7/11 23:07
加载中...