一个序列A[1],A[2],...,A[n]是斐波那契序列当且仅当满足:
- ngeq3
- A[i]=A[i−1]+A[i−2] (iin[3,n])
给一个数组A,求A的最长斐波那契子序列的长度。
Note: 子序列并不一定连续,只需保证在原数组中的相对顺序相同即可。
数据输入
第一行是一个n,表示数组A的长度。第二行是n个自然数。
数据输出
输出数组A的最长斐波那契子序列长度,如果不存在任何斐波那契子序列,输出0.
样例输入1
8
1 2 3 4 5 6 7 8
样例输出1
5
样例解释1
最长斐波那契子序列是[1,2,3,5,8]。
样例输入2
7
1 3 7 11 12 14 18
样例输出2
3
样例解释2
最长斐波那契子序列有:[1,11,12], [3,11,14] 或者 [7,11,18]。
数据范围
- 对于50%的数据有:1leqnleq10, 0leqA[i]leq10, A[i]<A[i+1]。
- 对于100%的数据有:1leqnleq1000,0leqA[i]leq109, A[i]<A[i+1]。