eolymp
bolt
Try our new interface for solving problems
Məsələlər

Черный Ящик

Черный Ящик

Черный Ящик представляет собой примитивную базу даных. Он может хранить массив целых чисел, а также имеет специальную переменную \textbf{i}. В начальный момент Черный Ящик пустой, переменная \textbf{i} равна \textbf{0}. Черный Ящик обрабатывает последовательность команд (транзакций). Существует два типа транзакций: \textbf{ADD}(\textbf{x}): добавить элемент \textbf{x} в Черный Ящик; \textbf{GET}: увеличить \textbf{i} на \textbf{1} и вывести \textbf{i}-ый минимальный элемент среди всех чисел, находящихся в Черном Ящике. Помните, что \textbf{i}-ый минимальный элемент находится на \textbf{i}-ом месте после того как все элементы Черного Ящика будут отсортированы в неубывающем порядке. Рассмотрим работу черного ящика на примере: Необходимо разработать эффективный алгоритм выполнения заданной последовательности транзакций. Максимальное количество транзакций \textbf{ADD} и \textbf{GET} равно \textbf{30000} (каждого типа). Опишем последовательность транзакций двумя целочисленными массивами: \textbf{1. A}(\textbf{1}), \textbf{A}(\textbf{2}), ..., \textbf{A}(\textbf{m}): последовательность элементов, которая будет добавляться в Черный Ящик. Элементами являются целые числа, по модулю не большие \textbf{2 000 000 000}, \textbf{m} ≤ \textbf{30000}. Для выше описанного примера \textbf{A} = (\textbf{3}, \textbf{1}, \textbf{-4}, \textbf{2}, \textbf{8}, \textbf{-1000}, \textbf{2}). \textbf{2.} \textbf{u}(\textbf{1}), \textbf{u}(\textbf{2}), ..., \textbf{u}(\textbf{n}): последовательность указывает на количество элементов в Черном Ящике в момент выполнения первой, второй, ... \textbf{n}-ой транзакции \textbf{GET}. Для выше описанного примера \textbf{u} = (\textbf{1}, \textbf{2}, \textbf{6}, \textbf{6}). Работа Черного Ящика предполагает, что числа в последовательности \textbf{u}(\textbf{1}), \textbf{u}(\textbf{2}), ..., \textbf{u}(\textbf{n}) отсортированы в неубывающем порядке, \textbf{n} ≤ \textbf{m}, а для каждого \textbf{p} (\textbf{1} ≤ \textbf{p} ≤ \textbf{n}) имеет место неравенство \textbf{p} ≤ \textbf{u}(\textbf{p}) ≤ \textbf{m}. Это следует из того, что для \textbf{p}-го элемента последовательности \textbf{u} мы выполняем \textbf{GET} транзакцию, которая выводит \textbf{p}-ый минимальный элемент из набора чисел \textbf{A}(\textbf{1}), \textbf{A}(\textbf{2}), ..., \textbf{A}(\textbf{u}(\textbf{p})). \InputFile Состоит из следующего набора чисел: \textbf{m}, \textbf{n}, \textbf{A}(\textbf{1}), \textbf{A}(\textbf{2}), ..., \textbf{A}(\textbf{m}), \textbf{u}(\textbf{1}), \textbf{u}(\textbf{2}), ..., \textbf{u}(\textbf{n}). Все числа разделены пробелами и (или) символом перевода на новую строку. \OutputFile Вывести ответы Черного Ящика на последовательность выполненных транзакций. Каждое число должно выводиться в отдельной строке.
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
7 4
3 1 -4 2 8 -1000 2
1 2 6 6
Çıxış verilənləri #1
3
3
1
2