Submission #5970190


Source Code Expand

MOD = 10**9 + 7
N,M = map(int,input().split())
S = [0] + [int(x) for x in input().split()]
T = [0] + [int(x) for x in input().split()]

# 最後に(n,m)でとる
dp = [[0] * (M+1) for _ in range(N+1)]
# 2次元累積和、(n,m) inclusive. 
dp_cum = [[0] * (M+1) for _ in range(N+1)]

# empty
dp[0][0] = 1
dp_cum[0][0] = 1
for n in range(N+1):
  dp_cum[n][0] = 1
for m in range(M+1):
  dp_cum[0][m] = 1
  
for n in range(1,N+1):
  for m in range(1,M+1):
    if S[n] != T[m]:
      dp[n][m] = 0
    else:
      # (n-1, m-1)までで作れてるやつから飛んでくる
      dp[n][m] = dp_cum[n-1][m-1]
    dp_cum[n][m] = dp_cum[n-1][m] + dp_cum[n][m-1] - dp_cum[n-1][m-1] + dp[n][m]
    dp_cum[n][m] %= MOD

#print(dp)
#print(dp_cum)
answer = dp_cum[N][M]
print(answer)

Submission Info

Submission Time
Task E - Common Subsequence
User maspy
Language PyPy3 (2.4.0)
Score 500
Code Size 802 Byte
Status AC
Exec Time 398 ms
Memory 104924 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 5
AC × 33
Set Name Test Cases
Sample s1.txt, s2.txt, s3.txt, s4.txt, s5.txt
All 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, s1.txt, s2.txt, s3.txt, s4.txt, s5.txt
Case Name Status Exec Time Memory
01.txt AC 171 ms 39024 KiB
02.txt AC 168 ms 38896 KiB
03.txt AC 168 ms 38896 KiB
04.txt AC 168 ms 38896 KiB
05.txt AC 168 ms 38896 KiB
06.txt AC 356 ms 101980 KiB
07.txt AC 361 ms 104028 KiB
08.txt AC 353 ms 100316 KiB
09.txt AC 358 ms 101340 KiB
10.txt AC 352 ms 99804 KiB
11.txt AC 371 ms 102620 KiB
12.txt AC 361 ms 102236 KiB
13.txt AC 362 ms 103132 KiB
14.txt AC 368 ms 103388 KiB
15.txt AC 367 ms 101340 KiB
16.txt AC 398 ms 99804 KiB
17.txt AC 392 ms 104540 KiB
18.txt AC 368 ms 99932 KiB
19.txt AC 369 ms 100700 KiB
20.txt AC 366 ms 100572 KiB
21.txt AC 371 ms 102620 KiB
22.txt AC 368 ms 101084 KiB
23.txt AC 183 ms 41072 KiB
24.txt AC 350 ms 96988 KiB
25.txt AC 188 ms 43120 KiB
26.txt AC 187 ms 42224 KiB
27.txt AC 371 ms 104924 KiB
28.txt AC 374 ms 104924 KiB
s1.txt AC 162 ms 38256 KiB
s2.txt AC 163 ms 38256 KiB
s3.txt AC 168 ms 38256 KiB
s4.txt AC 165 ms 38256 KiB
s5.txt AC 162 ms 38256 KiB