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

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

Гемоглобин

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

요약
값을 추가하거나 가장 최근 값을 제거하거나 마지막 k개 값의 합을 출력하는 명령을 처리한다.
난이도

보통10점 중 4점

유형
스택, 누적 합
정답자
아직 제출이 없습니다

문제

Каждый день к Грегори Хаусу приходит много больных, и у каждого измеряется уровень гемоглобина в крови. Данные по всем пациентам заносятся в базу данных.

Но волчанка попадается один раз на миллион, а работать с остальными неинтересно. Чтобы Хаус не выгонял больных, Кадди иногда запрашивает статистику по kk последним больным: ей хочется знать сумму их уровня гемоглобина.

Также Хаус --- мизантроп: он смотрит уровень гемоглобина больного, который поступил к нему позже всех, и, видя, что это точно не волчанка, выписывает его из больницы и удаляет информацию о нем из базы.

Автоматизацию процесса Хаус поручил Чейзу. Но Чейз почему-то не справился с этой задачей и попросил вас ему помочь.

입력

Первой строкой входного файла задано число nn (1≤n≤1000001 \le n \le 100000) --- число обращений к базе данных. Запросы к базе выглядят следующим образом: +x+x (1≤x≤1091 \le x \le 10^9) --- добавить пациента с уровнем гемоглобина xx в базу, −- --- удалить последнего пациента из базы, ?k?k (1≤k≤1000001 \le k \le 100000) --- вывести суммарный гемоглобин последних kk пациентов. Гарантируется, что kk не превосходит число элементов в базе. Также гарантируется, что запросов на удаление к пустой базе не поступает. Перед началом работы база данных пуста.

출력

Для каждого запроса −- вывести уровень гемоглобина в крови пациента, а для каждого запроса ?k?k --- суммарный гемоглобин у последних kk поступивших пациентов. Ответы выводите в порядке поступления запросов.

예제1

  1. 예제 1

    입력
    7
    +1
    +2
    +3
    ?2
    -
    -
    ?1
    
    예상 출력
    5
    3
    2
    1