bzoj#P2384. [Ceoi2011]Match
[Ceoi2011]Match
题目描述
作为新一轮广告大战的一部分,格丁尼亚的一家大公司准备在城市的某处设置公司的标志(logo)。公司经理决定用一些整栋的建筑来构成标志的组成部分。
标志由不同高度的竖直条纹组成。这些条纹从左到右依次编号为 。标志用数字 的排列 来描述。编号 的条纹高度最低,编号 的条纹第二低……编号 的条纹最高。条纹的实际高度无关紧要。
沿格丁尼亚城市的主干道共有 栋建筑,这些建筑的高度各不相同。问题是如何找出标志与建筑相匹配的所有位置。
请帮助公司找出匹配标志的建筑序列的连续部分。若编号 的建筑在序列中最低,编号 的建筑在序列中第二低……那么这个连续的建筑序列就与标志匹配。例如,建筑高度的序列 与用编号排列 描述的标志相匹配,因为编号 的建筑(高度 )最低,编号 的建筑第二低,编号 的建筑最高。
输入格式
第一行包含两个整数 。
第二行包含 个整数 ,构成 的排列, 且 。
第三行包含 个整数 ,表示建筑的高度 ,所有的 均不相同。
每一行的整数之间用单个空格隔开。
输出格式
第一行包含一个整数 ,表示匹配的序列数目。
第二行包含 个整数,分别为在正确匹配的每个序列中与标志编号 的条纹相对应的第一栋建筑的编号。这些数字按升序排列,用空格隔开。如果 ,第二行为空行。
样例输入
5 10
2 1 5 3 4
5 6 3 8 12 7 1 10 11 9
样例输出
2
2 6
样例说明
数据规模与约定
至少 分的数据,。
至少 分的数据,。
对于所有数据,有 ,。