每次测试时间限制:1.5 秒
内存限制:256 兆字节
题目描述
我们称一个长度为 n 的数组 a 是 坏 的,当且仅当存在 1≤i≤n−4 使得以下条件之一成立:
- ai<ai+1<ai+2<ai+3<ai+4
- ai>ai+1>ai+2>ai+3>ai+4
一个数组是 好 的当且仅当它不是坏的。例如:
- a=[3,1,2,4,5,6] 是坏的,因为 a2<a3<a4<a5<a6。
- a=[7,6,5,4,1,2,3] 是坏的,因为 a1>a2>a3>a4>a5。
- a=[7,6,5,1,2,3,4] 是好的。
你被给定一个排列 p1,p2,…,pn。
你必须进行 n 轮操作。在每一轮,你必须删除当前剩余数组 p 的最左端或最右端的元素。设 qi 为第 i 轮被删除的元素。
选择每一轮删除哪个方向的元素,使得最终得到的数组 q 是好的。可以证明在给定约束下,总是存在这样的操作序列。
∗ 长度为 n 的排列是由 n 个互不相同的整数 1 到 n 按任意顺序组成的数组。例如 [2,3,1,5,4] 是一个排列,但 [1,2,2] 不是(2 出现两次),[1,3,4] 也不是(n=3 但数组中有 4)。
输入
每个测试点包含多个测试用例。第一行包含一个整数 t(1≤t≤10000)——测试用例的数量。
每个测试用例的第一行包含一个整数 n(5≤n≤100000)——数组的长度。
第二行包含 n 个整数 p1,p2,…,pn(1≤pi≤n,且 pi 两两不同)——排列的元素。
保证所有测试用例的 n 之和不超过 200000。
输出
对于每个测试用例,输出一个长度为 n 的字符串 s。对于 1≤i≤n,在第 i 轮:
- si=L 表示你删除了 p 的最左端元素;
- si=R 表示你删除了 p 的最右端元素。
可以证明答案总是存在。如果有多个解,输出任意一个。
示例
输入
6
7
1 2 3 4 5 6 7
9
1 3 6 8 9 7 5 4 2
12
1 2 11 3 6 4 7 8 12 5 10 9
6
4 1 2 5 6 3
5
1 2 3 5 4
9
5 1 8 6 2 7 9 4 3
输出
RRRLLLL
LLRRLLRRL
LLLLLLLLLLLL
LLLLLL
LLLLL
LLLLLLLLL
注释
在第一个测试用例中,操作序列 RRRLLLL 得到 q=[7,6,5,1,2,3,4]。
在第二个测试用例中,操作序列 LLRRLLRRL 得到 q=[1,3,2,4,6,8,5,7,9]。