2367.Hard Process

Time Limit: 1s Memory Limit: 256MB

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 Format(From the terminal/stdin)

The first line contains two integers n and k (1 \le n \le 3 \cdot 105,0 \le k \le n) - the number of elements in a and the parameter k.

The second line contains n integers ai (0 \le ai \le 1) - the elements of a.

Output Format(To the terminal/stdout)

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 1

Copy
7 1
1 0 0 1 1 0 1
 · \n
 · · · · · · \n

Sample Output 1

Copy
4
1 0 0 1 1 1 1
 \n
 · · · · · · \n

Sample Input 2

Copy
10 2
1 0 0 1 0 1 0 1 0 1
  · \n
 · · · · · · · · · \n

Sample Output 2

Copy
5
1 0 0 1 1 1 1 1 0 1
 \n
 · · · · · · · · · \n

Submit

请先 登录

© 2025 FAQs