Темы
    Информатика(2656 задач)
---> 10 задач <---
Страница: << 1 2 Отображать по:
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

У доктора Риты сегодня трудный рабочий день, и она ушла на обеденный перерыв. За это время к ее кабинету выстроилась очередь из n человек! Очередь большая, поэтому в помещении быстро стало очень душно.

Для удобства пронумеруем пациентов натуральными числами от 1 до n в том порядке, в котором они изначально стояли в очереди: первым стоял человек с номером 1 , вторым — с номером 2 , и так далее. Последним был человек с номером n .

Далее, пока Рита не вернулась с обеда, t раз происходило следующее событие: кому-то из очереди становилось очень душно. Из-за этого он выходил на улицу подышать свежим воздухом, и тут же возвращался обратно, вставая в конец очереди.

Внимательный пациент Арсений записал номера всех, кто выходил подышать, в том порядке, в котором это происходило. Теперь Арсению интересно, в каком порядке стоят люди в очереди. Помогите ему выяснить это!

Известно, что никто из очереди окончательно не уходил и никто новый не приходил. Очередной человек выходил подышать только после того, как предыдущий человек, выходивший подышать, возвращался в конец очереди.

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

В первой строке входных содержатся два числа n и t — число людей в очереди и количество событий, что человек вышел на улицу подышать ( 1 ≤ n , t ≤ 100 000 ).

Во второй строке входных данных содержатся t чисел a i ( 1 ≤ a i n ) — номера людей, выходивших подышать и затем встававших в конец очереди в том порядке, в котором они это делали.

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

Выведите n чисел — номера людей в порядке очереди после всех перестановок.

Примечание

В тесте из примера происходили следующие изменения с очередью:

  1. Человек с номером 2 перешёл в конец. Порядок людей: 1 , 3 , 4 , 2
  2. Человек с номером 3 перешёл в конец. Порядок людей: 1 , 4 , 2 , 3
  3. Человек с номером 1 перешёл в конец. Порядок людей: 4 , 2 , 3 , 1
  4. Человек с номером 2 перешёл в конец. Порядок людей: 4 , 3 , 1 , 2
  5. Человек с номером 1 перешёл в конец. Порядок людей: 4 , 3 , 2 , 1

Порядок людей в очереди в конце: 4 , 3 , 2 , 1 .

Примеры
Входные данные
4 5
2 3 1 2 1
Выходные данные
4 3 2 1
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

Миша установил на свой телефон новую игру «Мемтест 2к17». В ней предусмотрены ежедневные награды за посещение. Награды бывают n уровней. Тип награды зависит от награды за предыдущий день, а именно:

  • если игрок в предыдущий день не посещал игру, то за сегодняшнее посещение он получит награду уровня 1;
  • если игрок в предыдущий день зашёл в игру и получил награду уровня k ( k n ), то за сегодняшнее посещение он получит награду уровня k + 1 ;
  • если игрок в предыдущий день зашёл в игру и получил награду уровня n , то за сегодняшнее посещение он получит награду уровня 1.
На Форуме для Крутых Программистов Миша выяснил, что награды каждого из уровней составляют соответственно a 1 , a 2 , ..., a n золотых монет.

Через m дней состоится турнир по «Мемтест 2к17», к которому Миша хочет собрать как можно больше золотых монет. Помогите ему спланировать посещения игры на протяжении m дней, оставшихся до турнира. Найдите наибольшее количество золотых монет, которое он сможет получить за счёт ежедневных наград в этот период. Можно считать, что игра установлена в первый из этих m дней, то есть до этого Миша в неё ни разу не заходил.

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

Первая строка входных данных содержит натуральные числа n и m ( 1 ≤ n , m ≤ 1000 ) — количества уровней наград и дней до турнира.

Вторая строка входных данных содержит n целых чисел a 1 , a 2 , ..., a n ( 1 ≤ a i ≤ 1000 ), где a i — величина награды i -го уровня в золотых монетах.

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

Выведите одно натуральное число — наибольшее количество золотых монет, которое Миша сможет получить до турнира.

Примечание

В первом тесте из примера Мише выгодно заходить в игру каждый день. Тогда он получит 1 + 2 + 4 = 7 золотых монет.

Во втором тесте из примера Мише выгодно заходить в игру в первый и третий день, получив в каждый из них по 4 монеты, тогда в сумме он получит 8 монет.

Примеры
Входные данные
3 3
1 2 4
Выходные данные
7
Входные данные
3 3
4 2 1
Выходные данные
8
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

Условие пока не опубликовано...

Примеры
Входные данные
2 1
Выходные данные
5
DLULD
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

У Карлсона дома есть набор из n банок с конфетами. Банки пронумерованы от 1 до n , в i -й из них лежит a i конфет. Карлсон считает набор банок симпатичным , если в этом наборе нет трех банок с разным числом конфет.

У Карлсона есть неограниченный запас конфет в карманах, поэтому он может добавить в любую банку произвольное число конфет. Помогите ему определить, какое минимальное общее число конфет ему придется добавить, чтобы набор банок с конфетами стал симпатичным.

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

Первая строка входных данных содержит натуральное число n ( 1 ≤ n ≤ 10 5 ) — количество банок в наборе Карлсона.

Вторая строка входных данных содержит n целых чисел a i ( 0 ≤ a i ≤ 10 9 ) — число конфет в банках. Соседние числа отделены друг от друга одним пробелом.

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

Выведите одно число — минимальное общее количество конфет, которое придется добавить, чтобы Карлсон считал набор банок симпатичным.

Примечание

В первом тесте из примера Карлсон может добавить в первую банку две конфеты, а во вторую банку — одну конфету. Тогда в первой и четвертой банках будет лежать по 7 конфет, а во второй и третьей — по 2 конфеты.

Во втором тесте из примера набор банок исходно является симпатичным, добавлять конфеты не требуется.

Примеры
Входные данные
4
5 1 2 7
Выходные данные
3
Входные данные
3
1 1 1
Выходные данные
0
ограничение по времени на тест
3.0 second;
ограничение по памяти на тест
256 megabytes

Андрюша — юный инженер. Сейчас он конструирует современный автомат для преобразования чисел. В процессе конструирования к автомату добавляются все новые и новые блоки, и Андрюше интересно, как будет работать автомат после каждой такой модификации.

Автомат представляет собой последовательность из блоков двух типов: максимизаторов и минимизаторов . На каждом блоке написано некоторое натуральное число x . Максимизатор принимает на вход натуральное число a и подает на выход число max ( x , a ) . Минимизатор принимает на вход натуральное число a и подает на выход число min ( x , a ) .

Автомат работает следующим образом: он принимает некоторое натуральное число, которые подает на вход первому блоку, затем то, что получилось на выходе у первого блока, подается на вход второго блока, и так далее. В итоге автомат возвращает число, получившееся на выходе у последнего блока. Иначе говоря, автомат просто последовательно пропускает данное ему число через все блоки.

Изначально в автомате нет ни одного блока, и он просто возвращает число, которое принимает.

Андрюша последовательно выполняет действия с автоматом. Действия бывают трех типов:

  1. Добавить в конец последовательности блоков автомата максимизатор, на котором написано число x .
  2. Добавить в конец последовательности блоков автомата минимизатор, на котором написано число x .
  3. Подать на вход автомату число x . В этом случае Андрюша хочет узнать, что автомат вернет на выход.

Андрюша уже запланировал, какие действия и в каком порядке он будет совершать. Напишите программу, которая определит результат работы автомата Андрюши, чтобы он мог убедиться в его исправности!

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

Первая строка входных данных содержит единственное целое число n ( 1 ≤ n ≤ 4·10 5 ) — суммарное количество действий Андрюши.

В каждой из следующих n строк содержится по два целых числа t и x ( 1 ≤ t ≤ 3 , 1 ≤ x ≤ 10 9 ), где t — это тип очередного действия. Если t = 1 , то Андрюша хочет добавить к автомату максимизатор, на котором написано число x . Если t = 2 , то Андрюша хочет добавить к автомату минимизатор, на котором написано число x . Если t = 3 , то Андрюша хочет подать на вход автомату число x и узнать, что получится на выходе.

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

Для каждого действия третьего типа выведите в отдельной строке одно число, которое должно получиться на выходе автомата после этого действия.

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

Страница: << 1 2 Отображать по:
Выбрано
:
Отменить
|
Добавить в контест