Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 

Построение

(Время: 0,25 сек. Память: 16 Мб Сложность: 56%)

В одной военной части решили построить солдат в одну шеренгу по росту. Т.к. часть была далеко не образцовая, то солдаты часто приходили не вовремя, а то их и вовсе приходилось выгонять из шеренги за плохо начищенные сапоги. Однако солдаты в процессе прихода и ухода должны были всегда быть выстроены по росту – сначала самые высокие, а в конце – самые низкие. За расстановку солдат отвечал прапорщик, который заметил интересную особенность – все солдаты в части разного роста.

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

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

Первая строка входного файла INPUT.TXT содержит число N – количество команд (1 ≤ N ≤ 30 000). В каждой следующей строке содержится описание команды: число 1 и X, если солдат приходит в строй (X – рост солдата, натуральное число до 100 000 включительно) и число 2 и Y, если солдата, стоящего в строе на месте Y надо удалить из строя (солдаты в строе нумеруются с нуля).

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

В выходной файл OUTPUT.TXT выведите в отдельной строке для каждой команды 1 (добавление в строй) число K – номер позиции, на которую должен встать этот солдат (все стоящие за ним двигаются назад).

Пример

INPUT.TXTOUTPUT.TXT
15
1 100
1 200
1 50
2 1
1 150
0
0
2
1

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

[Обсуждение] [Все попытки] [Лучшие попытки]


 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 Книги Фёдора Меньшикова
 Тренировочные олимпиады
 Введение
 Целочисленная арифметика
 Алгоритмы сортировки
 Длинная арифметика
 C++ Standard Template Library
 Динамическое программирование
 Комбинаторика
 Вычислительная геометрия
 Строки
 Структуры данных
 Теория графов - 1
 Теория графов - 2
 Статический RSQ
 Sqrt-декомпозиция
 Дерево Фенвика
 Статический RMQ
 Дерево отрезков
 A. Дерево Фенвика
 B. Армия
 C. Двумерный Фенвик
 D. Адаптивный поиск
 E. Построение
 F. Карточки - 2

Красноярский краевой Дворец пионеров, (c)2006 - 2024, ИНН 246305493507, E-mail: admin@acmp.ru



как убрать длинные волосы под шапочку для плавания ребенку