結果

問題 No.389 ロジックパズルの組み合わせ
コンテスト
ユーザー Tawara
提出日時 2016-07-08 23:44:01
言語 PyPy2
(7.3.15)
結果
AC  
実行時間 194 ms / 2,000 ms
コード長 362 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 312 ms
コンパイル使用メモリ 77,084 KB
最終ジャッジ日時 2025-12-03 20:59:34
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 99
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

p = 10**9+7
M = int(raw_input())
H = map(int,raw_input().split())
lenH = len(H)
fact=[1]
for i in xrange(1,M+1):
	fact+=[i*fact[i-1]%p]
finv=[0]*(M+1)
finv[M]=pow(fact[M],p-2,p)
for i in xrange(M,0,-1):
	finv[i-1]=i*finv[i]%p
rest = M - sum(H) - (lenH - 1)
if H[0] == 0:
	print 1
elif rest < 0:
	print "NA"
else:
	print fact[lenH+rest]*finv[lenH]*finv[rest] % p
0