[POI2007] 堆积木KLO

题目描述

PinkRabbit 从他的 npy 那里得到了一个由 $n$ 块积木叠成的高塔,每块积木上都写有一个数字。我们记从下往上第 $i$ 块积木上面的数为 $a_i$,将一个满足积木上的数为 $a_1,a_2,\dots,a_n$ 的高塔用 $\{a_1,a_2,\dots,a_n\}$ 直接表示,则 PinkRabbit 认为高塔 $\{a_1,a_2,\dots,a_m\}$ 价值为 $\sum_{i=1}^m [a_i = i]$。 PinkRabbit 可以删除当前高塔中的若干个积木,其余的积木受重力影响会下落到不能下落为止。如果将高塔 $\{1,1,2,4,5\}$ 中从下往上第二个积木删去,那么可以得到高塔 $\{1,2,4,5\}$,新高塔的价值为 $2$。 PinkRabbit 想删除当前高塔中任意个积木,使得最终得到的高塔价值最大。由于他是人赢,所以他指定你来回答这个问题。

输入输出格式

输入格式


第一行一个正整数 $n$,表示初始高塔的高度。 第二行 $n$ 个正整数 $a_1,a_2,\dots,a_n$,其中 $a_i$ 表示初始状态从下往上第 $i$ 个积木上的数字。

输出格式


一行一个整数,表示可以得到的最大价值。

输入输出样例

输入样例 #1

5
1 1 2 5 4

输出样例 #1

3

说明

**样例 1 解释** 初始状态 $\{1,1,2,5,4\}$ 仅有 $a_1$ 满足 $a_i=i$,总价值为 $1$。 删去从下往上第二个积木,得到状态 $\{1,2,5,4\}$,$a_1,a_2,a_4$ 均满足 $a_i=i$,总价值为 $3$。 容易证明不存在更优的方案。 **数据规模与约定** 对于 $100\%$ 的数据,$1 \le n \le 10^5$,$1 \le a_i \le 10^6$。