UOJ Logo

NOI.AC

1S 512MB

#1609. 斐波那契子序列

统计

一个序列$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]$。