Производство вина

Вы отвечаете за логистику на винодельческом предприятии. У вас есть n контейнеров, и каждый день один из них наполняется вином. Для каждого контейнера заранее известно, сколько дней он должен оставаться закрытым, прежде чем его можно будет открыть. Ваша цель — сократить общее время, необходимое, чтобы открыть все контейнеры.

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

Первая строка содержит одно целое число n (1 ≤ n ≤ ).
Во второй строке даны n целых чисел (1 ≤ ), где каждый обозначает, на сколько дней контейнер должен оставаться закрытым.

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

Необходимо вывести минимальное количество времени (в днях), которое нужно, чтобы все контейнеры были открыты.

Примеры

Input
Output
4 2 3 4 3
6
6 39 19 38 39 22 35
41

Пояснение

  • Пример 1 (цифры в списке указывают номера дней):
      1. Fill the container that needs to be kept closed for 4 days
      1. Fill the container that needs to be kept closed for 3 days
      1. Fill the container that needs to be kept closed for 3 days
      1. Fill the container that needs to be kept closed for 2 days
      1. Open the containers filled during Day 1 and Day 2
      1. Open the containers filled during Day 3 and Day 4 ⇒ all are open
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue