B. 滑动窗口

    传统题 1000ms 256MiB

滑动窗口

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

给定一个大小为 n106n≤10^6 的数组。

有一个大小为 kk 的滑动窗口,它从数组的最左边移动到最右边。

你只能在窗口中看到 kk 个数字。

每次滑动窗口向右移动一个位置。

以下是一个例子:

该数组为 [1,3,1,3,5,3,6,7][1, 3, -1, -3, 5, 3, 6, 7]kk33

你的任务是确定滑动窗口位于每个位置时,窗口中的最大值和最小值。

输入格式

每个测试包含多个测试用例。

第一行包含测试用例的数量 tt 1t1000(1 ≤ t ≤ 1000)。接下来是每个测试用例的描述。

每个测试用例的第一行包含两个整数 nnkk,分别代表数组长度和滑动窗口的长度 n1061kn(n≤10^6,1≤k≤n)

每个测试用例的第二行有 nn 个整数,代表数组的具体数值。 109数组的元素值109(-10^{9}≤数组的元素值≤10^9) 保证所有测试用例的 nn 之和不超过 10610^6

输出格式

对于每个测试用例,输出包含两行。

第一行输出 nk+1n - k + 1 个整数,从左至右,每个位置滑动窗口中的最小值。(换行符)

第二行输出 nk+1n - k + 1 个整数,从左至右,每个位置滑动窗口中的最大值。

样例

1
8 3
1 3 -1 -3 5 3 6 7

-1 -3 -3 -3 3 3
3 3 5 5 6 7

2026第三周训练 #3

未参加
状态
已结束
规则
XCPC
题目
5
开始于
2026-1-28 14:00
结束于
2026-1-28 16:30
持续时间
2.5 小时
主持人
参赛人数
5