记录编号 204036 评测结果 AAAAAAAAAA
题目名称 [SYOI 2015] Asm_Def排兵布阵 最终得分 100
用户昵称 Gravatarlmm 是否通过 通过
代码语言 C++ 运行时间 0.410 s
提交时间 2015-11-03 21:00:59 内存使用 2.20 MiB
显示代码纯文本
#include <cstdio>
using namespace std;

typedef long long LL;
const int MOD=998244353;
const int MAXK=(int)1e5+5;
const int SUM=(int)5*1e5+5;
int n;
int num;
int F[SUM];

int power(int a,int x){
	if(!x) return 1;
	int ans=power(a,x/2);
	ans=(LL)ans*ans%MOD;
	if(x&1) return (LL)ans*a%MOD;
	else return ans;
}
int C(int n,int m){
	if(n<m) return 0;
	return (((LL)F[n]*power(F[n-m],MOD-2))%MOD*power(F[m],MOD-2))%MOD;
}

int main(){
#ifndef bhiaibogf
	freopen("asm_formation.in","r",stdin);
	freopen("asm_formation.out","w",stdout);
#endif
	scanf("%d",&n);
	F[0]=1;
	for(int i=1;i<SUM;i++)
		F[i]=((LL)F[i-1]*i)%MOD;
	int ans=1,sum=0;
	while(n--){
		scanf("%d",&num);
		sum+=num;
		ans=(LL)ans*C(sum-1,num-1)%MOD;
	}
	printf("%d\n",ans);
	return 0;
}