結果
問題 |
No.2329 Nafmo、イカサマをする
|
ユーザー |
![]() |
提出日時 | 2023-06-10 20:49:50 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 103 ms / 2,000 ms |
コード長 | 548 bytes |
コンパイル時間 | 316 ms |
コンパイル使用メモリ | 81,920 KB |
実行使用メモリ | 76,544 KB |
最終ジャッジ日時 | 2025-01-03 01:41:49 |
合計ジャッジ時間 | 3,754 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 40 |
ソースコード
N,M,K = map(int,input().split()) A = list(map(int,input().split())) + [0] S = [set() for _ in range(7)] S[0] = {0} for i in range(1,4): for a in A: for b in S[i-1]: d = a + b if d <= M: S[i].add(d) if K < 4: print(max(S[K])) exit() i = K // 2 j = K - i S1 = list(S[i]) S1.sort() S2 = list(S[j]) S2.sort(reverse = True) NS2 = len(S2) i = 0 ans = 0 for a in S1: while i < NS2 and a + S2[i] > M: i += 1 if i == NS2: break ans = max(ans,a + S2[i]) print(ans)