CF1854B Earn or Unlock

题目描述

Andrea 正在玩 Tanto Cuore 游戏。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1854B/1661c88808ceec929a74ca91720280905e810592.png)他有一叠 $n$ 张牌,从上到下依次为 $a_1, \ldots, a_n$。每张牌可以是锁定或未锁定状态。最开始,只有最上面的一张牌是未锁定的。 游戏按回合进行。在每一回合,Andrea 可以选择一张未锁定的牌——该牌上的数值为 $v$——并且执行以下两种操作之一: 1. 解锁从顶部开始的前 $v$ 张锁定的牌。如果牌堆中锁定的牌少于 $v$ 张,则解锁所有锁定的牌。 2. 获得 $v$ 点胜利分数。 无论选择哪种操作,操作后都要将该牌从牌堆中移除。 当牌堆中剩下的所有牌都是锁定状态,或者牌堆中已经没有牌时,游戏结束。 Andrea 最多能获得多少胜利分数?

输入格式

第一行包含一个整数 $n$($1 \leq n \leq 10^5$),表示牌堆中牌的数量。 第二行包含 $n$ 个整数 $a_1, \ldots, a_n$($0 \leq a_1, \ldots, a_n \leq n$),表示牌堆中每张牌的数值。

输出格式

输出一个整数,表示 Andrea 最多能获得的胜利分数。

说明/提示

在第一个样例中,牌堆初始状态为 \[未锁定,锁定\]。然后,Andrea 用第一张牌解锁了第二张牌。接着,他用第二张牌获得了 $2$ 分胜利分数。 在第二个样例中,Andrea 可以用第一张牌解锁第二张和第三张牌。然后,他用第二张和第三张牌分别获得 $4+5=9$ 分胜利分数。 在第三个样例中,Andrea 无法用第一张牌解锁任何牌,也无法获得任何胜利分数。 由 ChatGPT 4.1 翻译