아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Стаканчики

시간 제한1초메모리 제한1024 MB

요약
컵을 순서대로 처리할 때, 내용이 있는 컵은 새 스택을 만들고 빈 컵은 가장 작은 스택 아래에 놓을 때, 가장 큰 스택의 높이를 구한다.
난이도

보통10점 중 6점

유형
힙, 그리디, 시뮬레이션
정답자
아직 제출이 없습니다

문제

С самого раннего детства Маша мечтала облететь весь земной шар и побывать в разных странах. И вот наконец-то её мечта сбылась --- ей предложили работу в одной из крупнейших авиакомпаний мира. Теперь Маша работает стюардессой. В её обязанности входит разносить еду и напитки пассажирам, а также собирать использованную посуду.

Использованные стаканчики Маша собирает следующим образом. Если пассажир не допил напиток, то Маша ставит его стаканчик в новую отдельную стопку. Если же стаканчик пуст, она ставит его в низ самой маленькой стопки (просто вкладывая эту стопку в пустой стаканчик), так как слишком высокую стопку легко уронить (пустой стаканчик ставится в отдельную стопку, только если поднос пуст).

Перед началом сбора использованной посуды Маша знает, сколько напитка в стакане осталось у каждого пассажира. Теперь ее интересует вопрос --- сможет ли она донести поднос со стаканчиками, не уронив его. Для этого ей необходимо знать высоту самой большой стопки. Но так как пассажиров очень много, она не может посчитать это сама, поэтому просит вас помочь ей!

입력

В первой строке входного файла задано единственное целое число nn --- количество пассажиров (1≤n≤1061 \le n \le 10^6).

В следующей строке через пробел заданы nn целых чисел a_ia\_i --- количество оставшегося напитка в стаканчиках (0≤a_i≤1090 \le a\_i \le 10^9) в том порядке, в котором Маша будет их собирать. Пустому ii-ому стакачику соответствует a_i=0a\_i = 0.

출력

В выходной файл выведите единственное целое число --- количество стаканчиков в самой большой стопке.

예제1

  1. 예제 1

    입력
    5
    1 0 0 2 0
    
    예상 출력
    3