結果
問題 | No.2329 Nafmo、イカサマをする |
ユーザー |
![]() |
提出日時 | 2023-05-28 13:45:38 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 394 ms / 2,000 ms |
コード長 | 535 bytes |
コンパイル時間 | 426 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 115,728 KB |
最終ジャッジ日時 | 2024-12-26 21:46:25 |
合計ジャッジ時間 | 4,826 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 40 |
ソースコード
N,M,K=map(int,input().split()) A=list(map(int,input().split())) A.append(0) N+=1 P=(K+1)>>1 Q=K>>1 X=[] Y=[] def p(x,i): if i==P: if x<=M: X.append(x) else: for j in range(N): p(x+A[j],i+1) def q(x,i): if i==Q: if x<=M: Y.append(x) else: for j in range(N): q(x+A[j],i+1) p(0,0) q(0,0) X.sort() Y.sort() Y.append(M+3) from bisect import * ANS=0 for i in range(len(X)): v=bisect_right(Y,M-X[i]) ANS=max(ANS,Y[v-1]+X[i]) print(ANS)