提出 #53129902
ソースコード 拡げる
from collections import deque
class SlidingMinimumElement:
def __init__(self, a):
self.left = 0
self.right = 0
self.a = a
self.que = deque()
def min(self, l, r):
for i in range(self.right, r):
while self.que and self.a[self.que[-1]] > self.a[i]:
self.que.pop()
self.que.append(i)
while self.que and self.que[0] < l:
self.que.popleft()
self.left = l
self.right = r
return self.a[self.que[0]]
class SlidingMaximumElement:
def __init__(self, a):
self.left = 0
self.right = 0
self.a = a
self.que = deque()
def max(self, l, r):
for i in range(self.right, r):
while self.que and self.a[self.que[-1]] < self.a[i]:
self.que.pop()
self.que.append(i)
while self.que and self.que[0] < l:
self.que.popleft()
self.left = l
self.right = r
return self.a[self.que[0]]
n, k = map(int, input().split())
p = list(map(int, input().split()))
index_p = [0] * n
for i in range(n):
index_p[p[i] - 1] = i
sl_min = SlidingMinimumElement(index_p)
sl_max = SlidingMaximumElement(index_p)
ans = float('inf')
for i in range(n - k + 1):
l = i
r = i + k
tmp_min = sl_min.min(l, r)
tmp_max = sl_max.max(l, r)
ans = min(ans, tmp_max - tmp_min)
print(ans)
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Permutation Subsequence |
| ユーザ | obakedesuyone |
| 言語 | Python (PyPy 3.10-v7.3.12) |
| 得点 | 425 |
| コード長 | 1475 Byte |
| 結果 | AC |
| 実行時間 | 188 ms |
| メモリ | 115972 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 425 / 425 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 02_random2_00.txt, 02_random2_01.txt, 02_random2_02.txt, 02_random2_03.txt, 02_random2_04.txt, 03_handmade_00.txt, 03_handmade_01.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00.txt | AC | 70 ms | 77000 KiB |
| 00_sample_01.txt | AC | 73 ms | 76832 KiB |
| 00_sample_02.txt | AC | 73 ms | 76888 KiB |
| 01_random_00.txt | AC | 135 ms | 99868 KiB |
| 01_random_01.txt | AC | 188 ms | 112020 KiB |
| 01_random_02.txt | AC | 133 ms | 93772 KiB |
| 01_random_03.txt | AC | 177 ms | 111304 KiB |
| 01_random_04.txt | AC | 176 ms | 110896 KiB |
| 01_random_05.txt | AC | 174 ms | 111600 KiB |
| 01_random_06.txt | AC | 170 ms | 102852 KiB |
| 01_random_07.txt | AC | 153 ms | 111460 KiB |
| 01_random_08.txt | AC | 133 ms | 106960 KiB |
| 01_random_09.txt | AC | 186 ms | 112048 KiB |
| 01_random_10.txt | AC | 110 ms | 90412 KiB |
| 01_random_11.txt | AC | 154 ms | 111460 KiB |
| 01_random_12.txt | AC | 110 ms | 86060 KiB |
| 01_random_13.txt | AC | 163 ms | 111484 KiB |
| 01_random_14.txt | AC | 112 ms | 94168 KiB |
| 01_random_15.txt | AC | 178 ms | 112072 KiB |
| 01_random_16.txt | AC | 121 ms | 111724 KiB |
| 01_random_17.txt | AC | 71 ms | 76836 KiB |
| 02_random2_00.txt | AC | 121 ms | 115972 KiB |
| 02_random2_01.txt | AC | 169 ms | 112148 KiB |
| 02_random2_02.txt | AC | 173 ms | 112192 KiB |
| 02_random2_03.txt | AC | 179 ms | 112324 KiB |
| 02_random2_04.txt | AC | 143 ms | 111376 KiB |
| 03_handmade_00.txt | AC | 142 ms | 112272 KiB |
| 03_handmade_01.txt | AC | 175 ms | 113744 KiB |