Hard Process

题意翻译

# 题目描述 给你一个数组,其中有n个元素。每个元素不是0就是1。 现在可以进行k次操作,每次操作可以改变数组中的一个元素(只能改成0或1)。 请你求出操作后最长连续1的序列的长度,并输出操作后的序列。 # 输入输出格式 ## 输入格式: 第一行输入两个整数n和k ( 1<=n<=3*10^5,0<=k<=n) 第二行包含n个整数。每个整数只存在1或0两种情况。 ## 输出格式: 第一行为一个整数z,表示最长连续1的序列长度。 第二行包含n个整数,表示操作后的序列。 如果有多个答案,任意输出其中的一种。

题目描述

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) $ .

输入输出格式

输入格式


The first line contains two integers $ n $ and $ k $ ( $ 1<=n<=3·10^{5},0<=k<=n $ ) — the number of elements in $ a $ and the parameter $ k $ . The second line contains $ n $ integers $ a_{i} $ ( $ 0<=a_{i}<=1 $ ) — the elements of $ a $ .

输出格式


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 $ a_{j} $ — the elements of the array $ a $ after the changes. If there are multiple answers, you can print any one of them.

输入输出样例

输入样例 #1

7 1
1 0 0 1 1 0 1

输出样例 #1

4
1 0 0 1 1 1 1

输入样例 #2

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

输出样例 #2

5
1 0 0 1 1 1 1 1 0 1