快速幂挂了四点,求调
查看原帖
快速幂挂了四点,求调
778011
DreamLand_zcb楼主2023/1/5 12:06

记录

#include <bits/stdc++.h>
#define ll long long
#define mem(a, m) memset(a, m, sizeof(a));
using namespace std;

const ll MOD=12345678910;
ll n, ans=0;
ll sum=0;//左括号个数 
ll a[100005];
ll qpow(ll a, ll b)
{
	if(!b)	return 1;
	ll t=qpow(a, b/2);
	if(b%2 == 0)	return t*t%MOD;
	else	return t*t*a%MOD;
}
int main()
{
	ios::sync_with_stdio(false);
	freopen("P3015.in", "r", stdin);
	freopen("P3015.out", "w", stdout);
	cin >> n;
	for(int i=1;i<=n;i++)
	{
		cin >> a[i];
		if(a[i] == 0)	sum++;
		else
		{
			sum--;
			if(a[i-1] == 0)
			{
				ans=(ans+qpow(2, sum))%MOD;
			}
		}
	}
	cout << ans;
	return 0;
}

2023/1/5 12:06
加载中...