結果
問題 |
No.1996 <><
|
ユーザー |
|
提出日時 | 2022-07-01 23:02:09 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 630 bytes |
コンパイル時間 | 324 ms |
コンパイル使用メモリ | 82,128 KB |
実行使用メモリ | 152,460 KB |
最終ジャッジ日時 | 2024-11-26 06:45:01 |
合計ジャッジ時間 | 51,684 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 13 TLE * 16 |
ソースコード
n, k = map(int, input().split()) A = list(map(int, input().split())) S = list(input()) mod = 10**9 + 7 DP = [[0 for _ in range(k + 1)] for _ in range(n)] for i in range(n - 1): DP[i][0] += 1 for j in range(min(k, i + 1)): for l in range(i + 1, n): if S[j] == '<': if A[i] < A[l]: DP[l][j + 1] += DP[i][j] DP[l][j + 1] %= mod elif S[j] == '>': if A[i] > A[l]: DP[l][j + 1] += DP[i][j] DP[l][j + 1] %= mod ans = 0 for i in range(n): ans += DP[i][k] ans %= mod print(ans)