CF1157C1 Increasing Subsequence (easy version)
题目描述
问题 C1 和 C2 的唯一区别在于,C1 的输入中的所有数值都是不同的(而 C2 可能不满足这一条件)。
给定一个由 $n$ 个整数组成的序列 $a$。所有这些整数都是不同的,且每个 $1$ 到 $n$ 的值在序列中恰好出现一次。
你需要进行一系列操作。每次操作时,你必须从序列的最左端或最右端取出一个元素,记录下来并从序列中移除。你的任务是记录下一个严格递增的序列,并且在所有可能的严格递增序列中,选择长度最长的那个(序列的长度即为其中元素的个数)。
例如,对于序列 $[2, 1, 5, 4, 3]$,答案是 $4$(你先取 $2$,序列变为 $[1, 5, 4, 3]$,然后取最右端的 $3$,序列变为 $[1, 5, 4]$,接着取 $4$,序列变为 $[1, 5]$,最后取 $5$,序列变为 $[1]$,得到的递增序列为 $[2, 3, 4, 5]$)。
输入格式
输入的第一行包含一个整数 $n$($1 \le n \le 2 \times 10^5$),表示 $a$ 中的元素个数。
输入的第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($1 \le a_i \le n$),其中 $a_i$ 是 $a$ 的第 $i$ 个元素。所有这些整数两两不同。
输出格式
输出的第一行包含一个整数 $k$,表示你能获得的严格递增序列的最大长度。
输出的第二行包含一个长度为 $k$ 的字符串 $s$,其中第 $j$ 个字符 $s_j$ 为 'L' 表示第 $j$ 次操作取的是最左端元素,为 'R' 表示取的是最右端元素。如果有多种方案,输出任意一种均可。
说明/提示
第一个样例已在题目描述中给出。
由 ChatGPT 4.1 翻译