Сортировка за линию?
(Время: 1 сек. Память: 32 Мб Сложность: 27%)
В автоматизированный сортировочный центр поступило n предметов. У i-го предмета приоритет ai и их нужно переупорядочить так, чтобы приоритеты не убывали, то есть в итоге получилось ai ≤ ai+1 для 1 ≤ i ≤ n−1.
К сожалению, в программе робота, который отвечает за сортировку, произошёл сбой и теперь он способен сделать только n шагов. На i-м шаге он может либо ничего не делать, либо перевернуть отрезок [1..i], то есть изменить порядок предметов на позициях от 1 до i (включительно) на противоположный.
Определите, возможно ли отсортировать предметы дефектным роботом и если да, то на каких шагах он должен делать перевороты.
Входные данные
Первая строка входного файла INPUT.TXT содержит целое число n — количество предметов (1 ≤ n ≤ 2×105).
Вторая строка содержит n целых чисел ai, разделённых пробелом (1 ≤ ai ≤ 109).
Выходные данные
В выходной файл OUTPUT.TXT выведите «NO», если отсортировать предметы невозможно. Иначе, в первой строке выведите «YES», а во вторую — n чисел ri, разделенных пробелом. Если на i-м шаге нужно делать переворот, то ri=1, а иначе ri=0. Разрешается выводить любой подходящий ответ.
Примеры
№ | INPUT.TXT | OUTPUT.TXT |
1 | 3 2 3 1 | YES 0 1 1 |
2 | 3 1 3 2 | NO |
3 | 5 1 1 1 1 1 | YES 1 0 1 1 0 |
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
|