一个序列$A[1], A[2], ..., A[n]$是斐波那契序列当且仅当满足:
- $ngeq 3$
- $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%的数据有:$1leq nleq 10$, $0leq A[i] leq 10$, $A[i] < A[i + 1]$。
- 对于100%的数据有:$1leq nleq 1000$,$0leq A[i] leq 10^9$, $A[i] < A[i + 1]$。