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. 所选大楼的高度都相等
  2. 所选大楼在队列中等间隔排列(即它们的下标构成等差数列)。

问:最多可以选择多少栋大楼?注意,当只选择恰好 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

There are no comments at the moment.