結果
問題 |
No.137 貯金箱の焦り
|
ユーザー |
👑 ![]() |
提出日時 | 2025-07-19 18:50:43 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 827 ms / 5,000 ms |
コード長 | 420 bytes |
コンパイル時間 | 421 ms |
コンパイル使用メモリ | 82,300 KB |
実行使用メモリ | 102,160 KB |
最終ジャッジ日時 | 2025-07-19 18:50:49 |
合計ジャッジ時間 | 6,480 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
from collections import defaultdict mod = 1234567891 N,M = map(int,input().split()) A = list(map(int,input().split())) dp = [0] * (sum(A)+10) dp[0] = 1 while M: dp += [0] * len(dp) for a in A: for i in range(len(dp)-a-1,-1,-1): if i+a < len(dp): dp[i+a] += dp[i] dp[i+a] %= mod dp = dp[M%2::2] M //= 2 # print (dp) print (dp[0] % mod)