Zju2672 Fibonacci Subsequence
给定一个包含 个整数的序列 。
若一个整数序列满足对于任意 ,均有
则称其为斐波那契数列。
从原序列中选择下标
得到子序列 。请找出其中最长的斐波那契子序列。
如果存在多个最长子序列,则输出下标序列 按字典序最小的一个,即在原序列中位置最靠前的一个,而不是数值序列按字典序最小的一个。
输入格式
第一行包含一个整数 。
第二行包含 个整数,依次表示 。
输出格式
如果最长斐波那契子序列的长度小于 ,则直接输出 。
否则,第一行输出一个整数 ,表示最长斐波那契子序列的长度。
第二行输出 个整数,表示对应的子序列。
样例输入
6
10 1 2 20 30 3
样例输出
3
10 20 30
数据范围
- ;
- 时间限制为 ;
- 内存限制为 。
来源与许可
本题为 ZJU 2672「Fibonacci Subsequence」,题面与测试数据整理自 BZOJ 1987。
样例 1
输入
6
10 1 2 20 30 3
输出
3
10 20 30