Problem9972--最长等差数列

9972: 最长等差数列

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 512 MiB

Description

给你一个整数数组 nums,返回 nums 中最长等差子序列的长度。
回想一下,nums 的子序列是一个列表 nums[1], nums[2], ..., nums[k] ,且 $0 \leq i_1< i_2< ... < i_k \leq nums.length - 1$。并且如果 seq[i+1] - seq[i] $(0 \leq i < seq.length - 1)$ 的值都相同,那么序列 seq 是等差的。

Input

第一行一个整数 $n\ (1 \leq n \leq 2\times 10^3)$。
第二行包含 $n$ 个整数 $num_i\ (0 \leq num_i \leq 500)$。

Output

输出答案。

Sample 1 Input

4
3 6 9 12

Sample 1 Output

4
整个数组是公差为 3 的等差数列。

Sample 2 Input

5
9 4 7 2 10

Sample 2 Output

3
最长的等差子序列是 [4,7,10]。

Sample 3 Input

7
20 1 15 3 10 5 8

Sample 3 Output

4
最长的等差子序列是 [20,15,10,5]。

Source/Category