UOJ Logo

NOI.AC

1S 512MB

#1609. 斐波那契子序列

统计

一个序列A[1],A[2],...,A[n]是斐波那契序列当且仅当满足:

  • ngeq3
  • A[i]=A[i1]+A[i2] (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%的数据有:1leqnleq10000leqA[i]leq109, A[i]<A[i+1]