logo AlgoBeat OnlineJudge
登录 注册

#102384. [BZOJ 2384] [Ceoi2011]Match

内存限制:64 MiB 时间限制:70000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: 匿名

题目描述

作为新一轮广告大战的一部分,格丁尼亚的一家大公司准备在城市的某处设置公司的标志(logo)。公司经理决定用一些整栋的建筑来构成标志的组成部分。

标志由不同高度的竖直条纹组成。这些条纹从左到右依次编号为 。标志用数字 的排列 来描述。编号 的条纹高度最低,编号 的条纹第二低……编号 的条纹最高。条纹的实际高度无关紧要。

沿格丁尼亚城市的主干道共有 栋建筑,这些建筑的高度各不相同。问题是如何找出标志与建筑相匹配的所有位置。

请帮助公司找出匹配标志的建筑序列的连续部分。若编号 的建筑在序列中最低,编号 的建筑在序列中第二低……那么这个连续的建筑序列就与标志匹配。例如,建筑高度的序列 与用编号排列 描述的标志相匹配,因为编号 的建筑(高度 )最低,编号 的建筑第二低,编号 的建筑最高。

输入格式

第一行包含两个整数

第二行包含 个整数 ,构成 的排列,

第三行包含 个整数 ,表示建筑的高度 ,所有的 均不相同。

每一行的整数之间用单个空格隔开。

输出格式

第一行包含一个整数 ,表示匹配的序列数目。

第二行包含 个整数,分别为在正确匹配的每个序列中与标志编号 的条纹相对应的第一栋建筑的编号。这些数字按升序排列,用空格隔开。如果 ,第二行为空行。

样例输入

5 10
2 1 5 3 4
5 6 3 8 12 7 1 10 11 9

样例输出

2
2 6

样例说明

数据范围与提示

至少 分的数据,

至少 分的数据,

对于所有数据,有