#P10854. 【MX-X2-T3】「Cfz Round 4」Ninelie

    ID: 10326 Type: RemoteJudge 1000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 4 Uploaded By: Tags>Special JudgeO2优化构造折半搜索, meet in the middle

【MX-X2-T3】「Cfz Round 4」Ninelie

题目背景

沿着单侧无尽响彻的旋律 流经眼前的街道 伴随着落幕的爱 渐行渐远
那无法传达的理想构图日渐扭曲沉寂的抵抗在此刻觉醒 冲动也在此刻姗姗来迟
支离破碎的哭喊和美梦 理想只剩下装饰的门面
哪怕城市乐于被喧嚣嘈杂所淹没
我也会继续高歌舍弃那掌控我的一切
所以只愿那静谧 再度响彻

无需畏惧 黎明已然降临

题目描述

给定一个长为 nn0101 序列 a1,,ana_1, \ldots, a_n 以及一个正整数 rr

你可以对序列 aa 进行操作。每次操作需选定一个下标 pp,满足 pp11nnap1ap+1a_{p-1}\neq a_{p+1},然后将 apa_p 翻转(即将 00 变为 11,将 11 变为 00)。

请你在 rr 次操作内将序列 aa 变成全 00 或全 11你不需要最小化操作次数。如果无法完成,你需要报告无解。

数据保证 r=2×106\bm{r = 2 \times 10^6}106\bm{10^6},具体细节请参见【数据范围】一节。

输入格式

第一行两个正整数 n,rn,r

第二行 nn 个整数 a1,,ana_1, \ldots, a_n

输出格式

若无法在 rr 次操作内将序列 aa 变成全 00 或全 11,则输出一行一个整数 1-1

若存在一种构造方案,则输出两行:

  • 第一行包含一个非负整数 mm,表示你的操作次数;你需要保证 mrm\le r你不需要最小化 m\bm m
  • 第二行包含 mm 个正整数,依次表示每次操作的下标 pp
4 1000000
0 0 1 0

3
2 4 1

5 1000000
1 1 1 1 1

0


10 1000000
0 1 0 0 1 1 0 0 1 0

18
1 2 10 1 9 4 10 4 7 4 7 3 7 8 9 2 10 1

提示

【样例解释 #1】

每次操作后的序列 aa 分别为:

  • [0,1,1,0][0,1,1,0]
  • [0,1,1,1][0,1,1,1]
  • [1,1,1,1][1,1,1,1]

此时序列 aa 中的全部元素均相同。

【数据范围】

对于所有测试数据,2n2×1032\le n\le 2\times 10^3ai{0,1}a_i\in\{0,1\}r=2×106r = 2 \times 10^610610^6

本题采用捆绑测试。

  • Subtask 1(20 points):n10n\le 10r=2×106r=2\times 10^6
  • Subtask 2(30 points):r=2×106r=2\times 10^6
  • Subtask 3(50 points):r=106r=10^6