#1658. [模板] 单调栈Ⅱ

[模板] 单调栈Ⅱ

题目描述

给定 nn 个数字 a1,a2,,ana_1,a_2,\cdots,a_n

你需要求出每个数字左边第一个小于自己的位置以及右边第一个小于自己的位置。

分别记作 lil_irir_i,若 lil_i 不存在记为 00,若 rir_i 不存在记为 n+1n+1

输入格式

第一行一个正整数 nn

第二行 nn 个正整数 a1,a2,,ana_1,a_2,\cdots,a_n

输出格式

输出一共输出 nn 行,每行输出两个空格隔开的整数分别代表 li,ril_i,r_i

5
1 4 2 3 5
0 6
1 3
1 6
3 6
4 6

提示

对于 50%50\% 的数据,1n1×1031 \le n\leq 1\times 10^31ai1091\leq a_i\leq 10^9

对于 100%100\% 的数据,1n1×1061 \le n\leq 1\times 10^61ai1091\leq a_i\leq 10^9