Олимпиадный тренинг

Задача . C. Сложный процесс


Вам задан массив a из n элементов. Каждый элемент массива равен либо 0, либо 1.

Обозначим длину наибольшего подотрезка последовательных элементов в a, состоящего только из единиц, как f(a). Вы можете поменять не более k нулей на единицы, чтобы максимизировать f(a).

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

В первой строке находится пара целых чисел n и k (1 ≤ n ≤ 3·105, 0 ≤ k ≤ n) — количество элементов в массиве a и значение параметра k.

Во второй строке находятся n целых чисел ai (0 ≤ ai ≤ 1) — элементы массива a.

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

В первой строке выведите неотрицательное целое число z — максимальное значение f(a) после не более k изменений нулей на единицы.

Во второй строке выведите n целых чисел aj — элементы массива a после изменений.

Если существует неcколько решений, выведите любое из них.


Примеры
Входные данныеВыходные данные
1 7 1
1 0 0 1 1 0 1
4
1 0 0 1 1 1 1
2 10 2
1 0 0 1 0 1 0 1 0 1
5
1 0 0 1 1 1 1 1 0 1

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w644
Комментарий учителя