Автор: | И. Блинов | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 256 Мб | |
Выходной файл: | output.txt |
Одно из заданий на соревнованиях по подводной робототехнике — полоса препятствий. Полоса состоит из n подряд идущих стен, высота i-й стены hi.
Цель робота — преодолеть все стены, достать флаг, который находится в конце полосы за всеми стенами, и вернуться обратно. Стену можно преодолеть двумя способами: подняться, проплыть над ней и опуститься обратно или сделать подкоп. Если стена была преодолена с помощью подкопа, то в при проходе в обратную сторону можно воспользоваться уже готовым подкопом. Всего разрешается сделать не более m подкопов.
Робот имеет ограниченный заряд батареи. Изначально он способен подняться над стеной высотой k или меньше, далее после каждого подъёма максимальная высота стены, которую может преодолеть робот, снижается на 1.
Робот поддерживает две команды: D
— идти через подкоп (если подкопа ещё нет, то робот выкапывает его), U
— проплыть над препятствием.
Первая строка входного файла содержит целые числа n m k. Следующая строка содержат n целых чисел hi - высоты стен.
Выходной файл должен содержать строку NO
, если задание выполнить невозможно.
В противном случае — две строки: строку YES
и строку из 2n символов U
и D
— последовательность команд робота, которая позволит ему преодолеть полосу препятствий и вернуться обратно. Первые n символов содержат описание прохождение от стены с номером 1 до стены с номером n, следующие n
символов содержат описание прохождения от стены с номером n до стены с номером 1.
Если решений несколько, выведите любое из них.
1 ≤ n, m ≤ 105, 1 ≤ k, hi ≤ 109
Баллы за каждую подзадачу начисляются только в случае, если все тесты этой подзадачи и необходимых подзадач успешно пройдены.
Подзадача | Баллы | Дополнительные ограничения | Необходимые подзадачи | Информация о проверке |
---|---|---|---|---|
1 | 40 | 1 ≤ n, m ≤ 102, 1 ≤ k, hi ≤ 109 | полная | |
2 | 60 | 1 ≤ n, m ≤ 105, 1 ≤ k, hi ≤ 109 | 1 | полная |
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|