2822: 「一本通 4.2 例 2」最敏捷的机器人

Memory Limit:512 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:121 Solved:76

Description

Wind 设计了很多机器人。但是它们都认为自己是最强的,于是,一场比赛开始了……

机器人们都想知道谁是最敏捷的,于是它们进行了如下一个比赛。首先,他们面前会有一排共 $n$ 个数 $a_1, a_2, \dots, a_n$,它们比赛看谁能最先把$$\forall\,i\in\lbrack 1,n-k+1 \rbrack, \begin{cases}\max\limits_{i \leq j < i+k}a_j\\\min\limits_{i \leq j < i+k}a_j\end{cases}$$(也就是每连续 $k$ 个数中最大值和最小值)写下来,当然,这些机器人运算速度都很快,它们比赛的是谁写得快。

但是 Wind 也想知道答案,你能帮助他吗?

Input

第一行为两个整数 $n, k$,意义如题目描述。

第二行共 $n$ 个整数,为 $a_1, a_2, \dots, a_n$。保证 $\forall\,i\in\lbrack 1,n \rbrack, -2^{31} \leq a_i \leq 2^{31}-1$。

Output

共 $n-k+1$ 行,每行两个整数,第 $i$ 行为 $\max\limits_{i \leq j < i+k}a_j$ 和 $\min\limits_{i \leq j < i+k}a_j$(即从 $a_i$ 至 $a_{i+k-1}$ 这 $k$ 个数中的最大值和最小值)。

Sample Input Copy

5 3
1 2 3 4 5

Sample Output Copy

3 1
4 2
5 3

HINT

对于全部数据,$1 \leq k \leq n \leq 10^5$。

加入题单

算法标签: