#CF1984A. 奇怪的划分
奇怪的划分
A. 奇怪的划分
时间限制:1 秒
内存限制:256 兆字节
定义非空数组的极差为最大值减去最小值。例如, 的极差为 。
给定一个长度为 的数组 ,保证数组已按非降序排序。
你需要将每个元素染成红色或蓝色,使得:
- 红色元素的极差不等于蓝色元素的极差,
- 每种颜色至少有一个元素。
如果不存在这样的染色方案,则报告不可能。若存在多种合法方案,输出任意一种。
输入
第一行包含一个整数 ()——测试用例的数量。
每个测试用例的第一行包含一个整数 ()——数组的长度。
第二行包含 个整数 ()。保证 。
输出
对于每个测试用例,如果无法满足所有约束条件,输出 NO。
否则,首先输出 YES。
然后输出一个长度为 的字符串 。对于 ,如果将 染成红色,则 应为 R;如果染成蓝色,则 应为 B。
示例
输入
7
4
1 1 2 2
5
1 2 3 4 5
3
3 3 3
4
1 2 2 2
3
1 2 2
3
1 1 2
3
1 9 84
输出
YES
RBRR
YES
BBRBB
NO
YES
RBBR
YES
RRB
YES
BRR
YES
BRB
注释
在第一个测试用例中,给定数组 ,我们可以将第二个元素染成蓝色,其余元素染成红色;此时红色元素 的极差为 ,蓝色元素 的极差为 。
在第二个测试用例中,我们可以将第一、二、四、五个元素 染成蓝色,其余元素 染成红色。红色元素的极差为 ,蓝色元素的极差为 ,两者不同。
在第三个测试用例中,可以证明无法对 进行染色以满足约束条件。