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

Задача . B. Составить строку


Дан алфавит из n букв, нужно составить строку максимальной длины так, чтобы выполнялись два условия:

  • i-я буква встречалась в строке не больше ai раз;
  • количество вхождений в строку каждой из букв должно быть различным для всех букв, которые встретились в строке хотя бы один раз.
Входные данные

В первой строке входных данных записано единственное целое число n (2  ≤  n  ≤  26) — количество букв в алфавите.

В следующей строке записано n целых чисел ai (1 ≤ ai ≤ 109) — ограничение на количество вхождений i-го символа в строку.

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

Выведите одно целое число — максимальную длину строки, удовлетворяющей требованиям.

Примечание

Для удобства возьмём алфавит из трёх букв: «a», «b», «c». В первом тесте из условия, примерами подходящих строк являются: «cccaabbccbb», «aabcbcbcbcb». Во втором тесте из условия примерами подходящих строк являются: «acc», «cbc».


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

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

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