等差数列是指从第二项起,每一项与它的前一项的差等于同一个常数的一种数列。
例如,数列:1 4 7 10,就是满足首项为 1,公差为 3 的等差数列。数列:10 7 4 1 就是满足首项为 10 公差为 -3 的等差数列。
给定一个长度为 N 的任意数列 a_1,a_2,a_3,\dots,a_n,定义该数列中取出任意连续的长度\ge 3 的子段为该数列的子数列。
请编程求出,该数列中,最长等差子数列的长度。
第 1 行读入一个整数 N。
第 2 行读入 N 个整数,数字之间用空格隔开。
输出该数列中能找到的最长等差子数列的长度。
20 -14 -8 -17 -1 -3 -5 -7 -9 -1 -4 -6 -8 -13 19 16 13 10 7 4 1
7
20 18 -5 -18 -11 -6 -12 3 15 2 -10 -6 -2 -9 9 11 13 -12 -1 9 19
3
17 -7 -7 -9 -18 18 -15 -7 -6 -18 -10 -14 -17 -7 -3 -10 -8 18
0
从第 4 个数到第 8 个数,构成长度为 5 的等差数列。
从第 10 个数到第 12 个数,构成长度为 3 的等差数列。
从第 14 个数到第 20 个数,构成长度为 7 的等差数列。
测试点 1 \sim 6 满足,3 \le N \le 1000。
测试点 7 \sim 10 满足,3 \le N \le 100000,-10^5 \le a_i \le 10^5。
东方博宜OJ