結果
問題 |
No.1238 選抜クラス
|
ユーザー |
|
提出日時 | 2021-03-03 10:34:09 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 92 ms / 2,000 ms |
コード長 | 548 bytes |
コンパイル時間 | 366 ms |
コンパイル使用メモリ | 81,792 KB |
実行使用メモリ | 86,252 KB |
最終ジャッジ日時 | 2024-10-03 03:09:34 |
合計ジャッジ時間 | 4,204 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 36 |
ソースコード
def main0(n,k,a): mod=10**9+7 from collections import defaultdict # dp[i][j]:i人選んで合計点がjの場合数。 aa=[x-k for x in a] dp=[0]*(200*n+1) dp[0]=1 for i in range(n): ndp=dp[:] for j in reversed(range(-100*n,100*n+1)): if dp[j]==0:continue ndp[j+aa[i]]+=dp[j] ndp[j+aa[i]]%=mod dp=ndp ans=-1 for i in range(100*n+1): ans+=dp[i] ans%=mod return ans if __name__=='__main__': n,k=map(int,input().split()) a=list(map(int,input().split())) ret0=main0(n,k,a) print(ret0)