Знайдіть найдовший пробіг істини в списку булей. Поверніть той самий список із фальсифікованими усіма іншими підписами.
Введення-виведення
Список; будь-який звичайний формат (наприклад, обмежений список у вигляді рядка).
Деталі
Істинним і хибним може бути все, що ваша мова зазвичай використовує для цих значень, або цілі числа 1 і 0. Якщо ви використовуєте одиничні символи, список може бути конкатенацією (наприклад, 10001
).
Якщо ви будете зрізати для найдовшого пробігу, продовжуйте виконувати всі зав'язувальні прогони і фальсифікуйте всі коротші пробіги.
Приклади
input ↦ output
1,0,1,0,1 ↦ 1,0,1,0,1
1,1,0,1,1,0,1 ↦ 1,1,0,1,1,0,0
1,1,0,1,1,1,0,1,1 ↦ 0,0,0,1,1,1,0,0,0
1,1,1 ↦ 1,1,1
0,0,1 ↦ 0,0,1
0,0 ↦ 0,0
1,1,1,0,0,0,1,1,1,1,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0 ↦ 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0
(безпосередньо з /programming//q/37447114 )