Олимпиадный тренинг

Задача . B. Заработать или разблокировать


Андрей играет в игру Tanto Cuore.

У него есть колода из \(n\) карт со значениями \(a_1, \ldots, a_n\) сверху вниз. Каждая карта может быть либо заблокирована, либо разблокирована. Первоначально разблокирована только самая верхняя карта.

Ходы происходят по очереди. В каждый ход Андрей выбирает незаблокированную карту из колоды. Пусть значение, записанное на этой карте, равно \(v\). Тогда он выполняет ровно одну из следующих двух операций:

  1. Разблокировать первые \(v\) заблокированных карт в колоде сверху. Если в колоде меньше \(v\) заблокированных карт, то разблокировать все заблокированные карты.
  2. Заработать \(v\) очков победы.
В обоих случаях после выполнения операции он убирает карту из колоды.

Игра заканчивается, когда все оставшиеся в колоде карты закрыты или в колоде больше нет карт.

Какое максимальное количество очков победы может заработать Андрей?

Входные данные

Первая строка содержит одно целое число \(n\) (\(1 \leq n \leq 10^5\)) — количество карт в колоде.

Вторая строка содержит \(n\) целых чисел \(a_1, \ldots, a_n\) (\(0 \leq a_1, \ldots, a_n \leq n\)) — значения карт в колоде.

Выходные данные

Выведите одно целое число — максимальное количество очков победы, которое может заработать Андрей.

Примечание

В первом примере колода в колоде сначала лежит разблокированная карта, потом заблокированная. Андрей использует первую карту, чтобы разблокировать вторую карту. Затем он использует вторую карту, чтобы заработать \(2\) победных очка.

Во втором примере Андрей может использовать первую карту для разблокировки второй и третьей карт. Затем он использует вторую и третью карты, чтобы заработать \(4+5=9\) победных очков.

В третьем примере Андрей не может разблокировать ни одну карту и получить победные очки с помощью первой карты.


Примеры
Входные данныеВыходные данные
1 2
1 2
2
2 5
2 4 5 0 1
9
3 4
0 4 4 4
0

time 3000 ms
memory 512 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя