Preparando MOJI

Hard Process

1000ms 262144K

Description:

You are given an array a with n elements. Each element of a is either 0 or 1.

Let's denote the length of the longest subsegment of consecutive elements in a, consisting of only numbers one, as f(a). You can change no more than k zeroes to ones to maximize f(a).

Input:

The first line contains two integers n and k (1 ≤ n ≤ 3·105, 0 ≤ k ≤ n) — the number of elements in a and the parameter k.

The second line contains n integers ai (0 ≤ ai ≤ 1) — the elements of a.

Output:

On the first line print a non-negative integer z — the maximal value of f(a) after no more than k changes of zeroes to ones.

On the second line print n integers aj — the elements of the array a after the changes.

If there are multiple answers, you can print any one of them.

Sample Input:

7 1
1 0 0 1 1 0 1

Sample Output:

4
1 0 0 1 1 1 1

Sample Input:

10 2
1 0 0 1 0 1 0 1 0 1

Sample Output:

5
1 0 0 1 1 1 1 1 0 1

Informação

Codeforces

Provedor Codeforces

Código CF660C

Tags

binary searchdptwo pointers

Submetido 0

BOUA! 0

Taxa de BOUA's 0%

Datas 09/05/2023 09:05:51

Relacionados

Nada ainda