Ограбление в парке
(Время: 1 сек. Память: 16 Мб Сложность: 21%)
Лавочки в парке устроены следующим образом. Несколько одинаковых кубических гранитных блоков ставятся в ряд, а на них кладется гранитная плита (см. рисунок). Архитектор-модернист решил, что будет интереснее, если у всех лавочек расположение гранитных блоков-ножек будет разным (и не обязательно симметричным). При этом они располагаются так, чтобы плита не падала: для этого достаточно, чтобы и слева, и справа от центра плиты был хотя бы один гранитный блок или его часть (в частности, если центр плиты приходится на середину какого-нибудь блока, то и слева, и справа от центра плиты находится часть блока, и плита не падает).
Грабители обнаружили, что можно по одному вытаскивать гранитные блоки, находящиеся с краю (как слева, так и справа). Они хотят вытащить из-под лавочки как можно больше блоков так, чтобы она при этом не упала (передвигать оставшиеся блоки нельзя). Определите, какие блоки они должны оставить.
Входные данные
В первой строке входного файла INPUT.TXT записаны два числа: L – длина лавочки и K – количество гранитных блоков-ножек. Оба числа натуральные и не превышают 10 000.
Во второй строке записано K различных целых неотрицательных чисел, задающих положение каждой ножки. Положение ножки определяется расстоянием от левого края плиты до левого края ножки (ножка – это куб размером 1×1×1). Ножки перечислены слева направо (то есть начиная с ножки с меньшим расстоянием до левого края)
Выходные данные
В выходной файл OUTPUT.TXT требуется вывести координаты ножек, которые грабителям нужно оставить. Для каждой ножки нужно выдать ее положение. Ножки следует перечислять слева направо, как они встречаются во входных данных.
Примеры
№ | INPUT.TXT | OUTPUT.TXT |
1 | 5 2 0 2 | 2 |
2 | 13 4 1 4 8 11 | 4 8 |
3 | 14 6 1 6 8 11 12 13
| 6 8 |
Примечание
Второй пример соответствует лавочке на рисунке.
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
|