Ограничения: время – 250ms/500ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Озимандии не нравится вид на Манхэттен, и он решил очистить город от существующих зданий
и построить новые небоскрёбы так, чтобы "линии города" (skyline) при взгляде с юга и востока
имели заданную форму.
Напишите программу, которая определяет минимальное количество зданий для получения
заданных "линий города" с юга и востока.
Первая строка ввода содержит одно целое число `N` (`1\ ≤\ N\ ≤\ 10^5`) – ширина вида с юга в зданиях,
следующая строка содержит `N` целых положительных чисел – высоты зданий на "линии города" при взгляде с юга.
Третья строка ввода содержит одно целое число `M` (`1\ ≤\ M\ ≤\ 10^5`) – ширина вида с востока в зданиях,
следующая строка содержит `M` целых положительных чисел – высоты зданий на "линии города" при взгляде с востока.
Вывести одно целое число – минимальное количество зданий. Если получить заданные "линии города"
невозможно, то вывести сообщение "NO".
Пример ввода 1
3
1 6 4
4
6 3 1 2
Пример ввода 2
2
1 1
2
5 5
Пояснение к примеру 1: нужно построить здания в местах, показанных на рисунке
Система оценки и описание подзадач
Подзадача 1 (40 баллов)
`1\ ≤\ N,\ M\ ≤\ 100`, высоты зданий от 1 до 1000
В этой подзадаче 8 тестов. Баллы за подзадачу начисляются только в случае, если все тесты для этой подзадачи успешно пройдены.
Подзадача 2 (40 баллов)
Необходимые подзадачи: 1.
`1\ ≤\ N,\ M\ ≤\ 10^5`, высоты зданий от 1 до `10^5`
В этой подзадаче 5 тестов. Баллы за подзадачу начисляются только в случае, если все тесты для этой подзадачи успешно пройдены.
Подзадача 3 (20 баллов)
Необходимые подзадачи: 1,2.
`1\ ≤\ N,\ M\ ≤\ 10^5`, высоты зданий от 1 до `10^9`.
В этой подзадаче 4 теста. Баллы за подзадачу начисляются только в случае, если все тесты для этой подзадачи успешно пройдены.
По запросу сообщается результат окончательной проверки на каждом тесте.