提出 #6354746
ソースコード 拡げる
import sys
input = sys.stdin.readline
from heapq import *
N,K,Q = map(int,input().split())
A = [int(x) for x in input().split()] # 大小逆にする。
# 通行止めを削除していって、区間をマージしていく
# 右端・左端が相互参照できるようにしておく
R_to_L = [None] * (N+10)
L_to_R = [None] * (N+10)
# 区間の左端に、残すK-1個のheapを入れる
rest = [[] for _ in range(N+10)]
from_max = sorted(enumerate(A), key = lambda x: x[1], reverse=True)
INF = 10 ** 18
get_reverse = [-INF] * Q
def push_K(arr,x):
if len(arr) < K-1:
heappush(arr,x)
else:
y = heappushpop(arr,x)
# y が獲得できるようになる
heappushpop(get_reverse, -y)
answer = INF
for i,x in from_max:
left = R_to_L[i-1]
right = L_to_R[i+1]
# x 自身が採用できるか
if left is None:
left = i
push_K(rest[left],x)
else:
push_K(rest[left],x)
if right is None:
right = i
else:
# merge
for r in rest[i+1]:
push_K(rest[left],r)
R_to_L[right] = left
L_to_R[left] = right
score = -get_reverse[0] - x
if answer > score:
answer = score
print(answer)
提出情報
| 提出日時 | |
|---|---|
| 問題 | E - Range Minimum Queries |
| ユーザ | maspy |
| 言語 | Python (3.4.3) |
| 得点 | 600 |
| コード長 | 1275 Byte |
| 結果 | AC |
| 実行時間 | 248 ms |
| メモリ | 9460 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 600 / 600 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt |
| All | sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt, subtask_1_41.txt, subtask_1_42.txt, subtask_1_43.txt, subtask_1_44.txt, subtask_1_45.txt, subtask_1_46.txt, subtask_1_47.txt, subtask_1_48.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| sample_01.txt | AC | 18 ms | 3064 KiB |
| sample_02.txt | AC | 18 ms | 3064 KiB |
| sample_03.txt | AC | 18 ms | 3064 KiB |
| subtask_1_01.txt | AC | 18 ms | 3064 KiB |
| subtask_1_02.txt | AC | 18 ms | 3064 KiB |
| subtask_1_03.txt | AC | 23 ms | 3444 KiB |
| subtask_1_04.txt | AC | 18 ms | 3064 KiB |
| subtask_1_05.txt | AC | 18 ms | 3064 KiB |
| subtask_1_06.txt | AC | 19 ms | 3188 KiB |
| subtask_1_07.txt | AC | 22 ms | 3444 KiB |
| subtask_1_08.txt | AC | 25 ms | 3572 KiB |
| subtask_1_09.txt | AC | 23 ms | 3444 KiB |
| subtask_1_10.txt | AC | 21 ms | 3316 KiB |
| subtask_1_11.txt | AC | 25 ms | 3572 KiB |
| subtask_1_12.txt | AC | 23 ms | 3572 KiB |
| subtask_1_13.txt | AC | 24 ms | 3572 KiB |
| subtask_1_14.txt | AC | 26 ms | 3572 KiB |
| subtask_1_15.txt | AC | 25 ms | 3572 KiB |
| subtask_1_16.txt | AC | 25 ms | 3700 KiB |
| subtask_1_17.txt | AC | 23 ms | 3572 KiB |
| subtask_1_18.txt | AC | 22 ms | 3572 KiB |
| subtask_1_19.txt | AC | 22 ms | 3572 KiB |
| subtask_1_20.txt | AC | 37 ms | 3956 KiB |
| subtask_1_21.txt | AC | 22 ms | 3572 KiB |
| subtask_1_22.txt | AC | 23 ms | 3572 KiB |
| subtask_1_23.txt | AC | 24 ms | 3572 KiB |
| subtask_1_24.txt | AC | 23 ms | 3572 KiB |
| subtask_1_25.txt | AC | 23 ms | 3572 KiB |
| subtask_1_26.txt | AC | 25 ms | 3572 KiB |
| subtask_1_27.txt | AC | 23 ms | 3572 KiB |
| subtask_1_28.txt | AC | 32 ms | 3700 KiB |
| subtask_1_29.txt | AC | 31 ms | 3828 KiB |
| subtask_1_30.txt | AC | 23 ms | 3572 KiB |
| subtask_1_31.txt | AC | 25 ms | 3572 KiB |
| subtask_1_32.txt | AC | 25 ms | 3572 KiB |
| subtask_1_33.txt | AC | 28 ms | 3700 KiB |
| subtask_1_34.txt | AC | 28 ms | 3700 KiB |
| subtask_1_35.txt | AC | 27 ms | 3572 KiB |
| subtask_1_36.txt | AC | 28 ms | 3700 KiB |
| subtask_1_37.txt | AC | 24 ms | 3572 KiB |
| subtask_1_38.txt | AC | 24 ms | 3572 KiB |
| subtask_1_39.txt | AC | 203 ms | 8180 KiB |
| subtask_1_40.txt | AC | 248 ms | 9460 KiB |
| subtask_1_41.txt | AC | 27 ms | 3700 KiB |
| subtask_1_42.txt | AC | 25 ms | 3572 KiB |
| subtask_1_43.txt | AC | 27 ms | 3572 KiB |
| subtask_1_44.txt | AC | 27 ms | 3700 KiB |
| subtask_1_45.txt | AC | 23 ms | 3572 KiB |
| subtask_1_46.txt | AC | 22 ms | 3572 KiB |
| subtask_1_47.txt | AC | 28 ms | 3700 KiB |
| subtask_1_48.txt | AC | 28 ms | 3700 KiB |