Codeforces Round 260 (Div. 1) |
---|
Закончено |
Леша не любит скучать. Поэтому, когда ему скучно, он придумывает игры. Как-то раз Леша придумал следующую игру.
Задана последовательность a, состоящая из n целых чисел. Игрок может сделать несколько ходов. За один ход игрок может выбрать некоторый элемент последовательности (обозначим выбранный элемент ak) и удалить его, при этом из последователости также удаляются все элементы, равные ak + 1 и ak - 1. Описанный ход приносит игроку ak очков.
Леша максималист и поэтому хочет набрать как можно больше очков. Какое максимальное количество очков он сможет набрать?
В первой строке задано целое число n (1 ≤ n ≤ 105) — количество элементов последовательности. Во второй строке записаны n целых чисел a1, a2, ..., an (1 ≤ ai ≤ 105) — элементы последовательности.
Выведите целое число — максимальное количество очков, которые может набрать Леша.
2
1 2
2
3
1 2 3
4
9
1 2 1 3 2 2 2 2 3
10
Рассмотрим третий тестовый пример. В этом тестовом примере нужно действовать так.
Первоначально нужно выбрать любой элемент, равный 2. Тогда последовательность станет равна [2, 2, 2, 2]. Далее, делаем еще 4 хода, на каждом ходу выбираем любой элемент, равный 2. Итого мы заработали 10 очков.
Название |
---|