АВТ
Язык:

Дистанционный практикум по программированию

Задачи Online статус Соревнования
Новости Справка СДО
 
Здравствуйте, Гость! Войдите с паролем или зарегистрируйтесь.

2005. Пробелы

Ограничение времени: 1 сек.
Ограничение памяти:262144 КБайт
Баллы:100
Статистика Послать на проверку Задачу добавил debug

Незадолго до олимпиады наш вуз проходил государственную аккредитацию, во время которой пришлось готовить много разных документов. Разные части документов создавались разными людьми, и некоторые из них использовали символ пробела для форматирования текста. В результате в тексте стали встречаться не только одиночные пробелы, но также группы из 2, 3, 4, и так далее — до 100 подряд идущих пробелов.

После изменения отступов и шрифтов такое форматирование 'разъехалось', и документы стали выглядеть некрасиво. Пришлось заменять все пробельные группы на одиночные пробелы, используя команду 'Заменить всё' текстового редактора. Команда 'Заменить всё' работает так: вводится, что и на что нужно заменить (в нашем случае группу из нескольких пробелов на один пробел), после чего выполняется замена во всём тексте документа. Замена работает следующим образом: находится первое вхождение искомой строки и заменяется на один пробел, затем то же самое повторяется в части текста после найденного вхождения.

Например, пусть у нас были пробельные группы размера 4, 2 и 6. Заменяем подстроку из трёх пробелов на один. В итоге получатся группы размера 2, 2 и 2. Выполним команду 'Заменить всё' ещё раз и заменим подстроку из двух пробелов на один. Теперь в тексте остались только одиночные пробелы, при этом потребовалось сделать две операции замены.

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

Входные данные

В первой строке входных данных написано одно целое число n – количество пробельных групп разного размера в документе (1 ≤ n ≤ 100). В следующей строке записаны в порядке возрастания n различных целых чисел из диапазона от 1 до 100 – количества пробелов в группах.

Выходные данные

В первой строке выходных данных выведите целое число K – минимальное количество вызовов команды 'Заменить всё'. Во второй строке выведите K целых положительных чисел через пробел – размеры заменяемых подстрок в порядке, в котором нужно осуществить замены. Если есть несколько верных ответов, выведите любой.

Примеры

Входные данные
3
2 4 6
Выходные данные
2
3 2 
Входные данные
1
1
Выходные данные
0

Статистика Послать на проверку Обсуждение задачи Автор/источник:
Задачи с соревнований и сборов / Межвузовские олимпиады / XXII межвузовская олимпиада - 2019 /
2004. E - Порталы 2005. 2006. G - Генеалогическое дерево 2007. H - Красивые числа 2008. I - Седловая точка
 
время генерации 0.094 сек.
© Copyright ВоГУ, АВТ, Носов Д.А., Андрианов И.А.