結果
問題 |
No.1238 選抜クラス
|
ユーザー |
![]() |
提出日時 | 2020-09-08 00:05:20 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 1,859 ms / 2,000 ms |
コード長 | 460 bytes |
コンパイル時間 | 196 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 36,480 KB |
最終ジャッジ日時 | 2024-11-29 11:35:04 |
合計ジャッジ時間 | 37,450 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 36 |
ソースコード
N, K = map(int,input().split()) A = list(map(int,input().split())) mod = int(1e9 + 7) for i in range(N): A[i] -= K dp = [[0 for j in range(20010)] for i in range(105)] dp[0][10000] = 1 ans = 0 for i in range(N): for j in range(20005): dp[i+1][j] += dp[i][j] if j >= A[i] and j - A[i] < 20005: dp[i+1][j] += dp[i][j - A[i]] dp[i+1][j] %= mod for j in range(10005): ans += dp[N][j + 10000] ans %= mod ans -= 1 if ans < 0: ans += mod print(ans)