結果
| 問題 | No.1238 選抜クラス |
| コンテスト | |
| ユーザー |
c-yan
|
| 提出日時 | 2020-09-26 00:08:36 |
| 言語 | Python3 (3.14.3 + numpy 2.4.2 + scipy 1.17.0) |
| 結果 |
AC
|
| 実行時間 | 198 ms / 2,000 ms |
| コード長 | 495 bytes |
| 記録 | |
| コンパイル時間 | 426 ms |
| コンパイル使用メモリ | 20,700 KB |
| 実行使用メモリ | 15,484 KB |
| 最終ジャッジ日時 | 2026-03-16 20:33:44 |
| 合計ジャッジ時間 | 5,859 ms |
|
ジャッジサーバーID (参考情報) |
judge3_0 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 36 |
ソースコード
m = 1000000007
N, K, *A = map(int, open(0).read().split())
for i in range(N):
A[i] -= K
dp = {}
dp[0] = 1
for a in A:
if a == 0:
for k in dp:
dp[k] += dp[k]
elif a > 0:
for k in sorted(dp, reverse=True):
dp.setdefault(k + a, 0)
dp[k + a] += dp[k]
elif a < 0:
for k in sorted(dp):
dp.setdefault(k + a, 0)
dp[k + a] += dp[k]
dp[0] -= 1
print(sum(dp[k] for k in [k for k in dp if k >= 0]) % m)
c-yan