大佬帮忙看看问题
查看原帖
大佬帮忙看看问题
466451
LYY_yyyy楼主2021/8/20 14:58
#include<bits/stdc++.h>
#define ll long long
#define itn int
using namespace std;
bool a[300001];
int cao,n;
int main()
{
	int flag=0;
	cin>>n>>cao;
	for(int i=1;i<=n;i++)
	cin>>a[i];
	int ans=0,mans=0,ml,mr,l=1,r=1;
	for(;r<=n;r++)
	{
	//	cout<<l<<' '<<r<<' '<<flag<<endl;
	if(a[r]==0)
	flag++;
	if(flag>cao)
	{
	/*	cout<<mans<<' '<<ans;*/
	    mans=ans;
		ans=max(ans,r-l);
		if(ans!=mans)
		{ml=l;mr=r-1;}
		while(a[l]!=0)
		l++;
		l++;
	    flag--;
	}
	
	}
	mans=ans;
	ans=max(ans,r-l);
	if(mans!=ans)
	{
		ml=l;mr=r-1;
	}
	//cout<<ml<<' '<<mr<<endl;
	cout<<ans<<endl;
	for(;ml<=mr;ml++)
	{
		a[ml]=1;
		}
		for(int i=1;i<=n;i++)
		cout<<a[i]<<' ';
	return 0;
}
2021/8/20 14:58
加载中...