求调! #8,#9 TLE
  • 板块灌水区
  • 楼主fwtv_24
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/7/19 14:58
  • 上次更新2023/11/3 08:53:44
查看原帖
求调! #8,#9 TLE
686059
fwtv_24楼主2023/7/19 14:58

Link

#include<bits/stdc++.h>
using namespace std;
struct basket{
	int len,head,lock=0;
} a[300010];
int b[300010],m=1,n,i=0,count=0,k,j=1,l;
int main(){
	scanf("%d",&n);
	scanf("%d",&b[1]);
	a[1].head=1; a[1].len=1; k=1; a[0].len=0; a[0].lock=0;
	for(i=2;i<=n;i++)
	{
		scanf("%d",&b[i]);
		if(b[i]==b[i-1])	a[j].len++;
		else{
			a[++j].head=i;
			a[j].len=1;
			k++;
		}
	}
	l=k;
	while(l!=0)
	{
		l=0;
		for(i=1;i<=k;i++)
		{
			if(a[i].len&&a[i].lock==0)
			{
				printf("%d ",a[i].head);
				a[i].head++;
				a[i].len--;
			}
		}
		printf("\n");
		int p;
		for(i=1;i<=k;i++)
		{
			if(a[i].len==0)
			{
				a[i+1].lock=a[i-1].len+a[i-1].lock;
			}
			if(a[i].len)
			{
				l++;
				p=i;
			}	
		}
		k=p;
	}
	return 0;
}
2023/7/19 14:58
加载中...