#P6564. [POI2007] 堆积木KLO

    ID: 5570 Type: RemoteJudge 1000ms 128MiB Tried: 6 Accepted: 1 Difficulty: 5 Uploaded By: Tags>动态规划,dp2007树状数组POIO2优化

[POI2007] 堆积木KLO

题目描述

PinkRabbit 从他的 npy 那里得到了一个由 nn 块积木叠成的高塔,每块积木上都写有一个数字。我们记从下往上第 ii 块积木上面的数为 aia_i,将一个满足积木上的数为 a1,a2,,ana_1,a_2,\dots,a_n 的高塔用 {a1,a2,,an}\{a_1,a_2,\dots,a_n\} 直接表示,则 PinkRabbit 认为高塔 {a1,a2,,am}\{a_1,a_2,\dots,a_m\} 价值为 i=1m[ai=i]\sum_{i=1}^m [a_i = i]

PinkRabbit 可以删除当前高塔中的若干个积木,其余的积木受重力影响会下落到不能下落为止。如果将高塔 {1,1,2,4,5}\{1,1,2,4,5\} 中从下往上第二个积木删去,那么可以得到高塔 {1,2,4,5}\{1,2,4,5\},新高塔的价值为 22

PinkRabbit 想删除当前高塔中任意个积木,使得最终得到的高塔价值最大。由于他是人赢,所以他指定你来回答这个问题。

输入格式

第一行一个正整数 nn,表示初始高塔的高度。
第二行 nn 个正整数 a1,a2,,ana_1,a_2,\dots,a_n,其中 aia_i 表示初始状态从下往上第 ii 个积木上的数字。

输出格式

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

5
1 1 2 5 4
3

提示

样例 1 解释
初始状态 {1,1,2,5,4}\{1,1,2,5,4\} 仅有 a1a_1 满足 ai=ia_i=i,总价值为 11
删去从下往上第二个积木,得到状态 {1,2,5,4}\{1,2,5,4\}a1,a2,a4a_1,a_2,a_4 均满足 ai=ia_i=i,总价值为 33
容易证明不存在更优的方案。

数据规模与约定
对于 100%100\% 的数据,1n1051 \le n \le 10^51ai1061 \le a_i \le 10^6