44分,WA求调
查看原帖
44分,WA求调
1468496
skykissheep楼主2025/8/5 11:48
#include<bits/stdc++.h>
using namespace std;
int a,l,k,z,w,x[300005],m,p,ans,js[1000005];
string s;
int main()
{
	//freopen("b.in","r",stdin);
	//freopen("b.out","w",stdout);
	for(int i=1,j=1;i<=1000000;j+=1,i+=2) js[j]=i;
	cin>>a>>s;
	for(int i=(s[0]=='0'?1:0);i<a;i++)
	{
		if(s[i]=='1') l++,z++,w=0;
		if(s[i]=='0')
		{
			w++;
			if(w<=1)
			{
				m++;
				x[m]=l;
			}
			l=0;
		}
	}
	if(z==0)
	{
		cout<<0;
		return  0;
	}
	if(l==a)
	{
		cout<<1;
		return 0;
	}
	if(s[a-1]=='1')
	{
		m++;
		x[m]=l;
	}
	sort(x+1,x+m+1);
	if(x[1]%2==0) k=(x[1]-2)/2;
	else k=(x[1]-1)/2;
	k=max(k,0);
	for(int i=1;i<=m;i++)
	{
		p=x[i]/js[k+1]+(k==0?0:1);
		p=max(p,1);
		ans+=p;
	}
	cout<<ans;
    return 0;
}
2025/8/5 11:48
加载中...