#P5868. [SEERC2018] Min Max Convert
[SEERC2018] Min Max Convert
题目描述
是一个有 个元素的数列。你可以对这个数列进行以下两种操作:
- 选出一个下标的区间 ,设数列中在这个下标区间中的元素的最大值为 ,将这个下标区间中的所有元素替换为 。
- 选出一个下标的区间 ,设数列中在这个下标区间中的元素的最小值为 ,将这个下标区间中的所有元素替换为 。
计算出一组操作方案,使数列 变为另一个给定的数列 (也有 个元素)。方案中操作的数列必须小于等于 。
输入格式
第一行包含一个整数 。
第二行包含一个有 个元素的数列 。
第三行包含另一个有 个元素的数列 。
输出格式
如果无解,输出 。否则在第一行输出一个整数 ,代表将数列 变为 所需的最小操作数量。接下来 行每行包含一个字符(代表操作的类型,m
代表使用了最小值的操作,M
代表使用了最大值的操作)和一个区间 ,描述了所需的每次操作信息。如果有多解,任意输出一组即可。
5
1 5 5 3 4
1 1 4 4 4
3
m 1 2
M 4 5
m 3 5
5
1 2 3 4 4
2 2 2 2 5
-1
提示
- 数列 和 中的元素都是区间 中的整数