园艺
题号:NC309135
时间限制:C/C++/Rust/Pascal 3秒,其他语言6秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小蓝从左到右种了 n 棵小树,第 i 棵树的高度为 h_i,相邻树的间隔相同。小蓝想挪走一些树使得剩下的树等间隔分布,且从左到右高度逐渐上升(相邻两棵树高度满足右边的比左边的高),小蓝想知道最多能留下多少棵树。

输入描述:

输入的第一行包含一个正整数 n

第二行包含 n 个正整数 h_1, h_2, \cdots, h_n,相邻整数之间使用一个空格分隔。

- 对于所有评测用例,1 \leq n \leq 50000 < h_i < 10^6

输出描述:

输出一行包含一个整数表示答案。
示例1

输入

复制
6
3 5 4 7 6 7

输出

复制
3

说明

留下第 1、3、5 棵树,它们等间隔且从左到右高度逐渐上升。