80有优化方法吗?
查看原帖
80有优化方法吗?
966082
huangmingyi楼主2024/1/22 15:38
#include<bits/stdc++.h>
#define int long long
using namespace std;
struct node{
	int L,R,num;
};
int n,a;
queue<node> q;
signed main(){
	scanf("%d",&n);
	int now=2;
	for(int i=1;i<=n;i++){
		scanf("%d",&a);
		if(a!=now){
			node x={i,i,a};
			q.push(x);
			now=a;
		}else{
			q.back().R=i;
		}
		
	}
	while(!q.empty()){
		int k=q.size(),now=2;
		for(int i=1;i<=k;i++){
			if(q.front().num!=now){
				printf("%d ",q.front().L);
				q.front().L++;
				now=q.front().num;
			}
			if(q.front().L<=q.front().R){
				q.push(q.front());
			}
			q.pop();
		}
		printf("\n");
	}
	return 0;
}
2024/1/22 15:38
加载中...