AcWing 154. 滑动窗口(Python3)
原题链接
简单
作者:
跂未
,
2024-03-15 10:41:35
,
所有人可见
,
阅读 7
N = 1000010
n, k = map(int, input().split())
a = list(map(int, input().split()))
q = [0] * N
hh, tt = 0, 0
for i in range(n):
if q[hh] <= i - k and hh <= tt:
hh += 1
while hh <= tt and a[q[tt]] >= a[i]:
tt -= 1
tt += 1
q[tt] = i
if i >= k - 1:
print(a[q[hh]], end = ' ')
print()
hh, tt = 0, 0
for i in range(n):
if q[hh] <= i - k and hh <= tt:
hh += 1
while hh <= tt and a[q[tt]] <= a[i]:
tt -= 1
tt += 1
q[tt] = i
if i >= k - 1:
print(a[q[hh]], end = ' ')