萌新球条
查看原帖
萌新球条
992990
shiyiming楼主2025/1/14 16:27

WA#9~#13

#include <iostream>
#include <cstring>
using namespace std;
typedef long long ll;
string s;
ll n,m;
bool check(ll len)
{
	ll sum1=0,sum2=0,k=0;
	for(int i=0;i<n;i++)
	{
		ll c=s[i]-'0';
		if(c==0)sum1++;
		else sum2++;
		if(sum1*sum2>len)
		{
			k++;
			sum1=0;
			sum2=0;
			if(c==0)sum1++;
			else sum2++;
		}
	}
	return k<m;
}
int main()
{
	cin>>n>>m;
	cin>>s;
	ll l=0,r=n+1;
	while(l<r)
	{
		ll mid=(l+r)>>1;
		if(check(mid))r=mid;
		else l=mid+1;
	}
	cout<<l;
	return 0;
}
2025/1/14 16:27
加载中...