АВТ
Language: Russian
English

Remote Training on Programming

Problems Online status Contests
News FAQ E-learning
For authors:
Register  ||  Login
 
Hello, Guest! Please login or register.

2005. Space Characters

Time Limit: 1 seconds
Memory Limit:262144KB
Points:100
View Problem Statistics Submit Problem added 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

View Problem Statistics Submit Problem discussion Author/source:
Problems from Contests and Camps / Vologda Students Contests / XXII Interuni Olympiad - 2019 /
2004. E - Portals 2005. 2006. G - Genealogic Tree 2007. H - Beautiful Numbers 2008. I - Saddle Point
time generating 0.109 sec.
© Copyright VSU, AVT, Nosov D.A., Andrianov I.A.