最大连续1的个数

#include<bits/stdc++.h>
using namespace std;
int n,m;
char a[10010]={0};
int main()
{
	cin>>n>>m;
	for(int i=0;i<n;i++)
	{
		cin>>a[i];
	}
	int j=0;
	int ma=-1;
	for(int i=0;i<=n;i++)
	{
		if(a[i]=='0'&&m>0)
		{
			m--;
		}
		else if(a[i]=='0'&&m==0)
		{
			while(a[j]=='1')
			{
				j++;
			}
			j++;
		}
		if(i==n)ma=max(ma,i-j);
		else ma=max(ma,i-j+1);
	}
	cout<<ma;
	
	
	return 0;
}

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐