#P4661. 第2题-公共子序列
第2题-公共子序列
题目内容
给定两个长度为 的排列 和 (均为 ~ 的一个排列,元素两两不同),请你在它们的公共子序列中,找到一条字典序最大的序列并输出。
名词解释:
【字典序】对两序列从左到右比较第一个不同的元素,较大者字典序更大;若一个序列是另一个序列的前缀,则更长的序列字典序更大。
【子序列】子序列为从原序列中删除任意个(可以为零、可以为全部)元素得到的新序列。
【数组公共子序列】如果数组 的一个子序列 与数组 的一个子序列 完全相等,那么子序列 是数组 的一个公共子序列。
输入描述
第一行输入一个整数 ,表示排列的长度。
第二行输入 个整数 ,表示排列 。
第三行输入 个整数 ,表示排列
保证 与 都是 ~ 的排列。
输出描述
第一行输出一个整数 ,表示答案序列的长度。
第二行输出 个整数,为这条字典序最大的公共子序列。
样例1
输入
5
2 5 3 1 4
5 2 4 3 1
输出
2
5 4
说明
两序列的公共子序列中,以 开头后,能够继续选择的最大元素为得到 []。与 [] 相比,第二个元素更大,因此 [] 的字典序更大