为什么这是40分
查看原帖
为什么这是40分
666796
Rainsleep楼主2022/7/21 16:15

萌新求助

#include<bits/stdc++.h>

using namespace std;

typedef long long ll;

const ll mod(12345678910);

ll n;

stack<ll>s;

int a[100050];

int main()
{
	scanf("%lld",&n);
	
	for(int i(1);i<=n;++i)
	{
		long long x;
		scanf("%lld",&x);
		
		if(x==0)
			s.push(i);
		else
		{
			ll t(s.top());
			
			s.pop();
	
			if(t+1!=i)
			{
				ll sum(0);
				for(int j(t+1);j<i;++j)
					sum+=a[j],a[j]=0;
				a[i]=sum*2%mod;
			}
			else
				a[i]=1;
		}
	}
	
	ll res(0);
	
	for(int i(1);i<=n;++i)
		res+=a[i],res%=mod;
	
	printf("%lld",res%mod);
	
	puts("");
	
	return 0;
}
 

为什么只得了40分?

2022/7/21 16:15
加载中...