Олимпиадный тренинг

Задача . D. Экзамен по вождению


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

  • ограничение скорости: этот знак характеризуется целым положительным числом — максимальной скоростью машины после знака (очередной знак этого типа отменяет ограничения предыдущего такого знака);
  • обгон разрешен: этот знак обозначает, что машина может обгонять другую после того как проехала этот знак;
  • отмена ограничения скорости: этот знак отменяет ограничение скорости, если оно было (то есть после этого знака можно ехать с произвольной скоростью);
  • обгон запрещен: после этого знака машина не может обгонять другую.

Поликарп проезжает знаки последовательно, очередной знак перекрывает действие всех предыдущих знаков для соответствующего ограничения (скорость/обгон). Возможно, что два или больше знаков «обгон запрещён» идут подряд, и ни одного знака «обгон разрешён» не стоит между ними. Это также выполняется для знаков «отмена ограничения скорости» и «обгон разрешён».

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

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

  1. Поликарп изменил скорость машины на заданную (это событие характеризуется целым положительным числом);
  2. машина Поликарпа обогнала другую машину;
  3. машина Поликарпа проехала знак «ограничение скорости» (это событие характеризуется целым положительным числом);
  4. машина Поликарпа проехала знак «обгон разрешен»;
  5. машина Поликарпа проехала знак «отмена ограничения скорости»;
  6. машина Поликарпа проехала знак «обгон запрещен».

Гарантируется, что первое событие в хронологическом порядке — это событие типа 1 (Поликарп изменил скорость машины на заданную).

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

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

В первой строке записано одно целое число n (1 ≤ n ≤ 2·105) — количество событий.

Каждая из следующих n строк начинается с целого числа t (1 ≤ t ≤ 6) — тип события.

После запросов первого и третьего типа следует целое число s (1 ≤ s ≤ 300). Если это запрос первого типа, то это число — новая скорость Поликарпа; если это запрос третьего типа, то это число — новое ограничение скорости.

Гарантируется, что первое событие в хронологическом порядке — это событие типа 1 (Поликарп изменил скорость машины на заданную).

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

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

Примечание

В первом примере Поликарп должен не заметить знак «ограничение скорости» с числом 70 и знак «ограничение скорости» с числом 120.

Во втором примере Поликарп не совершил ни одного нарушения.

В третьем примере Поликарп должен не заметить ни одного знака «обгон запрещен», которые идут после знака «обгон разрешен».


Примеры
Входные данныеВыходные данные
1 11
1 100
3 70
4
2
3 120
5
3 120
6
1 150
4
3 300
2
2 5
1 100
3 200
2
4
5
0
3 7
1 20
2
6
4
6
6
2
2

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя