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$。