提出 #6216543


ソースコード 拡げる

import numpy as np
N = int(input())
A = np.array(input().split(), dtype=np.int64)

MOD = 10 ** 9 + 7
def comb(n,k):
  # kが十分小さい
  num,den = 1,1
  for i in range(k):
    num *= (n-i)
    den *= (i+1)
    num %= MOD
    den %= MOD
  return num * pow(den,MOD-2,MOD) % MOD

idx = np.nonzero(A+1)[0]
left = A[idx[:-1]]
right = A[idx[1:]]
n = np.diff(idx) - 1 # 間の個数

answer = 1
for L,R,N in zip(left,right,n):
  answer *= comb(R-L+N,N)
  answer %= MOD
  
print(answer)

提出情報

提出日時
問題 C - タコヤ木
ユーザ maspy
言語 Python (3.4.3)
得点 100
コード長 508 Byte
結果 AC
実行時間 163 ms
メモリ 12520 KiB

ジャッジ結果

セット名 Sample Subtask1 Subtask2 Subtask3
得点 / 配点 0 / 0 50 / 50 30 / 30 20 / 20
結果
AC × 3
AC × 14
AC × 26
AC × 39
セット名 テストケース
Sample sample_01.txt, sample_02.txt, sample_03.txt
Subtask1 sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt
Subtask2 sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt
Subtask3 sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask3_01.txt, subtask3_02.txt, subtask3_03.txt, subtask3_04.txt, subtask3_05.txt, subtask3_06.txt, subtask3_07.txt, subtask3_08.txt, subtask3_09.txt, subtask3_10.txt, subtask3_11.txt, subtask3_12.txt
ケース名 結果 実行時間 メモリ
sample_01.txt AC 151 ms 12520 KiB
sample_02.txt AC 151 ms 12508 KiB
sample_03.txt AC 151 ms 12508 KiB
subtask1_01.txt AC 151 ms 12508 KiB
subtask1_02.txt AC 152 ms 12504 KiB
subtask1_03.txt AC 151 ms 12504 KiB
subtask1_04.txt AC 151 ms 12508 KiB
subtask1_05.txt AC 152 ms 12504 KiB
subtask1_06.txt AC 151 ms 12504 KiB
subtask1_07.txt AC 152 ms 12380 KiB
subtask1_08.txt AC 151 ms 12504 KiB
subtask1_09.txt AC 153 ms 12504 KiB
subtask1_10.txt AC 151 ms 12508 KiB
subtask1_11.txt AC 152 ms 12508 KiB
subtask1_12.txt AC 151 ms 12508 KiB
subtask2_01.txt AC 152 ms 12408 KiB
subtask2_02.txt AC 150 ms 12408 KiB
subtask2_03.txt AC 150 ms 12508 KiB
subtask2_04.txt AC 153 ms 12408 KiB
subtask2_05.txt AC 158 ms 12380 KiB
subtask2_06.txt AC 151 ms 12504 KiB
subtask2_07.txt AC 155 ms 12408 KiB
subtask2_08.txt AC 156 ms 12508 KiB
subtask2_09.txt AC 156 ms 12504 KiB
subtask2_10.txt AC 157 ms 12408 KiB
subtask2_11.txt AC 159 ms 12492 KiB
subtask2_12.txt AC 160 ms 12492 KiB
subtask3_01.txt AC 151 ms 12380 KiB
subtask3_02.txt AC 151 ms 12508 KiB
subtask3_03.txt AC 151 ms 12508 KiB
subtask3_04.txt AC 160 ms 12508 KiB
subtask3_05.txt AC 153 ms 12504 KiB
subtask3_06.txt AC 157 ms 12408 KiB
subtask3_07.txt AC 156 ms 12376 KiB
subtask3_08.txt AC 155 ms 12508 KiB
subtask3_09.txt AC 157 ms 12508 KiB
subtask3_10.txt AC 159 ms 12504 KiB
subtask3_11.txt AC 156 ms 12504 KiB
subtask3_12.txt AC 163 ms 12508 KiB