結果
問題 | No.2028 Even Choice |
ユーザー | hiraku |
提出日時 | 2022-08-05 22:13:20 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 249 ms / 2,000 ms |
コード長 | 543 bytes |
コンパイル時間 | 373 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 112,704 KB |
最終ジャッジ日時 | 2024-09-15 19:12:17 |
合計ジャッジ時間 | 5,005 ms |
ジャッジサーバーID (参考情報) |
judge6 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 |
ソースコード
from heapq import heappush, heappop n, k = map(int, input().split()) A = list(map(int, input().split())) # kが1の場合は2~n枚目の偶数枚目の最大値 # kが2以上の場合は左端lが偶数枚目、残りのk-1枚はlより右側の大きいものから順に ans = 0 rui = 0 stack = [] for i in range(n - 1, 0, -1): heappush(stack, A[i]) rui += A[i] if len(stack) >= k: s = heappop(stack) rui -= s if (i - 1) % 2 == 1: ans = max(ans, A[i - 1] + rui) # print(stack, ans) print(ans)