比赛 2025.10.18 评测结果 AAAAAAAAAA
题目名称 01数列 最终得分 100
用户昵称 wdsjl 运行时间 0.030 s
代码语言 C++ 内存使用 3.85 MiB
提交时间 2025-10-18 10:22:37
显示代码纯文本
#include <bits/stdc++.h>
#define int long long
using namespace std;

const int mod = 1e9+7;
const int N = 1010;

int tot,b[N],n,sum0,sum1,res,tt0,tt1; 

int qp(int x,int p){
	int res=1;
	while(p){
		if(p%2){
			res=res*x%mod; 
		}
		x=x*x%mod;
		p/=2;
	}
	return res%mod;
}

signed main(){
	freopen("01.in","r",stdin);
	freopen("01.out","w",stdout);
	scanf("%lld",&n);
	for(int i=1;i<=n;i++){
		scanf("%lld",&b[i]);
		if(b[i])sum1++;
		else sum0++;
	}
	tt0=qp(2,sum1);
	tt1=qp(2,sum0);
//	cout<<tt0<<" "<<tt1<<endl;
	tot=(tt0+tt1)%mod;
	res=qp(tot,n);
	printf("%lld",res);
	return 0;
}