Описание

Ограничение по времени: 500 ms
Ограничение по памяти: 256 Mb

Ответы на вопросы

Задача: Dishwashing

Беси и Эльза помогают Фермеру Джону мыть посуду.

Они решили, что Беси будет мыть посуду со средством, а Эльза - полоскать. Беси получила поднос грязных тарелок пронумерованных от \(1\) до \(N\) (\(1 \leq N \leq 10^5\)). Эльза получил пустой поднос, куда она должна выкладывать чистые тарелки. Между Беси и Эльзой имеется поднос тарелок помытых со средством.

На каждом шагу происходит одно из следующих событий

  • Беси берёт тарелку с вершины стека грязных тарелок, моет со средством и помещает на поднос тарелок, помытых со средством. Когда Беси кладёт тарелку помытую со средством в стек, она или кладёт её наверх существующего не пустого стека таких тарелок, или создаёт новый стек справа от всех существующих тарелок, помытых со средством.
  • Эльза берёт тарелку сверху самого левого стека, Эльза ополаскивает тарелку и кладёт её на вершину стека с чистыми тарелками.

Цель - получить стек с чистыми тарелками по порядку так, чтобы минимальный номер был в самом низу, а максимальный - в самом верху. Может получится, что это невозможно, тогда определите длину наибольшего префикса ввода, для которого такая цель достижима.

ФОРМАТ ВВОДА (файл dishes.in):

Первая строка ввода содержит \(N\). Следующие \(N\) строк указывают порядок тарелок в стеке Беси, первое число соответствует вершине стека.

ФОРМАТ ВЫВОДА (файл dishes.out):

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


Прикрепите файл с исходным кодом программы:
     
или введите исходный код на языке:


Правила оформления программ и список ошибок при автоматической проверке задач
           

Ваш ответ:

Загруженные файлы:


Нет

Примечание учителя: