题目描述
Z同学
近期喜欢上了数字序列。然而他发现了一种新的序列。把这个序列成为z序列
。
z序列
可以表示为:
1
、A1=P , P可以是任何一个整数
2
、Ai=Ai−1+(−1)i+1∗Q (i>1) ,Q可以是任何整数
现在Z同学
有个序列,长度为N 。
整个序列由N个整数组成。现在请你帮Z同学找出最长的Z序列
。
序列S1,S2,S3......Sk是序列B1,B2,B3.....Bn的子序列。
如果下标是i1,i2,i3......ik(1<=i1<i2<....<ik<=in)。
那么Bij=Sj
换句话说,你可以在B序列
当中删除一些元素可以得到序列S。
输入格式
第一行输入一个N(N<=4000)
接下来的1行总共有N个数字,代表序列的元素。
分别是B1,B2,B3.....Bn。
输出格式
输出一个整数,代表B序列
当中的最长的Z序列
的长度。
样例
样例输入1
2
3 5
样例输出1
2
样例输入2
4
10 20 10 30
样例输出2
3
提示
样例1:
样例1 本身就是一个Z序列
,所以长度是2
样例2:
10,20,10 符合Z序列
,所以最长为3