Цены на акции
В этой задаче мы будем работать с вычислением цен на акции. Вам необходимо знать следующие термины, связанные с ценами на акции:
Цена предложения — это минимальная цена, по которой кто-то готов продать акцию.
Цена спроса — это максимальная цена, по которой кто-то готов купить акцию.
Цена акции — это цена, по которой была совершена последняя сделка.
Сделка происходит всякий раз, когда цена спроса равна или превышает цену предложения. Ордер на покупку с ценой спроса сопоставляется с ордером на продажу с ценой предложения, и акции обмениваются по цене предложения до тех пор, пока либо ордер на продажу, либо ордер на покупку (или оба) не будут полностью выполнены (т.е. покупатель больше не хочет покупать акции, или продавец больше не хочет их продавать). Вам будет предоставлен список ордеров (на покупку или продажу), и вы должны определить после каждого ордера текущие цены предложения, спроса и акции.
Входные данные
На первой строке дано положительное целое число: количество тестов, не более 100. Далее для каждого теста:
Одна строка с целым числом n (1 ≤ n ≤ 1 000): количество ордеров.
n строк формата "order type x shares at y", где тип ордера — это либо "buy", либо "sell", x (1 ≤ x ≤ 1 000) — количество акций, которые кто-то хочет купить или продать, а y (1 ≤ y ≤ 1 000) — желаемая цена.
Выходные данные
Для каждого теста:
n строк, каждая из которых имеет вид "a_i b_i s_i", где a_i, b_i и s_i — это текущие цены предложения, спроса и акции соответственно, после обработки i-го ордера и выполнения всех возможных сделок. Если цена не определена, выводите "-" вместо нее.