C - 点亮大楼(Illuminate Buildings)
Submit solution
Points:
100
Time limit:
1.0s
Memory limit:
80M
Author:
Problem type
Allowed languages
C, C++
C - 点亮大楼(Illuminate Buildings)
题目描述
有 (\(N\)) 栋大楼等间距排成一列。从前往后第 (\(i\)) 栋大楼的高度为 (\(H_i\))。
你想选择若干栋大楼进行灯饰装点,并要求所选大楼同时满足以下两个条件:
- 所选大楼的高度都相等;
- 所选大楼在队列中等间隔排列(即它们的下标构成等差数列)。
问:最多可以选择多少栋大楼?注意,当只选择恰好 1 栋大楼时,也视为满足条件。
输入格式
N
H1 H2 … HN
(\(1 \le N \le 3000\)) (\(1 \le H_i \le 3000\))
- 输入均为整数
输出格式
输出一个整数,表示最多可以选择的大楼数量。
样例
样例 1
8
5 7 5 7 7 5 7 7
输出
3
说明:选择从前往后第 2、5、8 栋大楼(高度相等且等间隔)满足条件。
样例 2
10
100 200 300 400 500 600 700 800 900 1000
输出
1
说明:选择任意单独一栋即视为满足条件。
样例 3
32
3 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6 2 6 4 3 3 8 3 2 7 9 5
输出
3
Comments