该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
徐老师最近复习了 《斐波那契数列》,斐波那契数列就是 1,1,2,3,5,8... 这个序列,对于 i>2 时满足 fi=fi−1+fi−2
现在徐老师思考了一下,能否将斐波那契数列拓展一下呢?
于是他定义了一个 斐波那契序列:是指一个长度 ≥2 的序列 A,满足 Ai=Ai−1+Ai−2(i>2)
现在徐老师给出一个长度为 n 的原序列 B,第 i 个数字为 Bi
他希望找出这个 B 序列中找出一个子序列 C,使得这个子序列 C 是一个斐波那契序列
输入格式
输入第一行包含一个整数 n 表示原序列 B 的长度
输入第二行包含 n 个整数,表示原序列 B
输出格式
输出第一行包含一个整数,表示求出子序列 C 的最大长度
数据范围
对于 20% 的数据满足: 2≤n≤100
对于另外 10% 的数据满足: 2≤n≤3000,−10≤Bi≤10
对于另外 40% 的数据满足: 2≤n≤3000,−100≤Bi≤100
对于 100% 的数据满足: 2≤n≤3000,−109≤Bi≤109
样例输入1
7
1 1 2 3 8 5 8
样例输出1
6
样例解释1
最长的斐波那契序列:1 1 2 3 5 8
样例输入2
10
2 -1 0 3 -1 -1 5 8 13 -2
样例输出2
5
样例解释2
有两个斐波那契序列:-1 0 -1 -1 -2 和 2 3 5 8 13,长度都是 5