結果
問題 |
No.3050 Prefix Removal
|
ユーザー |
|
提出日時 | 2023-01-05 22:30:22 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 432 ms / 2,000 ms |
コード長 | 406 bytes |
コンパイル時間 | 529 ms |
コンパイル使用メモリ | 82,388 KB |
実行使用メモリ | 206,480 KB |
最終ジャッジ日時 | 2025-03-07 20:31:41 |
合計ジャッジ時間 | 17,417 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 55 |
ソースコード
import heapq N, K = map(int, input().split()) A = list(map(int, input().split())) B = [0] * (N + 1) for i, v in enumerate(A): B[i + 1] = B[i] + v ans = -(1 << 62) pq = [] pq_sum = 0 for X in range(1, N + 1): if X >= K: ans = max(ans, K * B[X] - pq_sum) heapq.heappush(pq, -B[X]) # reversed order pq_sum += B[X] if len(pq) >= K: pq_sum -= -heapq.heappop(pq) print(ans)