結果
| 問題 |
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)