You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
排序(sort)
【题目描述】
小 D 正在学习排序。
他有一个长度为 n 的 01 序列 a1,a2,…,an。
每一秒,他会找到所有 ai=0 且 ai+1=1 的所有 i,并同时交换所有的 ai,ai+1。
请你帮小 D 求出 m 秒后的序列。
【输入格式】
从 sort.in 中读入数据。
第一行两个整数 n 和 m。
第二行 n 个整数表示 a1,a2,…,an。
【输出格式】
输出到 sort.out 中。
一行 n 个整数表示 m 秒后的序列。
【样例 1 输入】
10 3
1 0 0 1 0 1 1 1 0 1
【样例 1 输出】
1 1 1 0 1 0 1 0 1 0
【样例 1 解释】
第 1 秒后,整个序列为:[1,0,1,0,1,0,1,1,1,0]。
第 2 秒后,整个序列为:[1,1,0,1,0,1,0,1,1,0]。
【样例 2】
见下发文件中的 sort2.in 与 sort2.ans。
【样例 3】
见下发文件中的 sort3.in 与 sort3.ans。
【数据范围】
对于所有测试数据有:1≤n,m≤2×106,ai∈{0,1}。
子任务编号 |
分值 |
特殊限制 |
Subtask 1 |
5 |
n,m≤3000 |
Subtask 2 |
没有两个 1 相邻 |
Subtask 3 |
30 |
n,m≤105 |
Subtask 4 |
60 |
无特殊限制 |