#AT1388. D - Preparing Boxes
D - Preparing Boxes
D - 准备盒子
得分:$400$分
问题描述
有 $N$ 个空盒子按照从左到右的顺序排列。 整数 $i$ 写在第 $i$ 个盒子上$(1 \leq i \leq N)$。
对于这些盒子中的每一个,花花可以选择要么在其中放一个球,要么不放。
我们说一个放球或不放球的选择集是好的,当满足以下条件时:
- 对于每个整数 $i$,$1$ 到 $N$ 之间(包括 $i$),包含在上面写有 $i$ 的倍数的盒子中的球的总数对 $2$ 取模等于 $a_i$。
是否存在一个好的选择集?如果存在,找出一个好的选择集。
限制
- 输入中的所有值都是整数。
- $1 \leq N \leq 2 \times 10^5$
- $a_i$ 是 $0$ 或 $1$。
输入
输入以以下格式从标准输入给定:
输出
如果不存在好的选择集,则打印 -1
。
如果存在好的选择集,则以以下格式打印一个这样的选择集:
``` $M$ $b_1$ $b_2$ $...$ $b_M$ ```这里,$M$ 表示将包含一个球的盒子的数量,$b_1,\ b_2,\ ...,\ b_M$ 是这些盒子上写的整数,可以是任意顺序。
3
1 0 0
1
1
考虑只在写有 $1$ 的盒子中放一个球。
- 有三个盒子上写有 $1$ 的倍数:写有 $1$、$2$、和 $3$ 的盒子。这些盒子中包含的球的总数为 $1$。
- 只有一个盒子上写有 $2$ 的倍数:写有 $2$ 的盒子。这些盒子中包含的球的总数为 $0$。
- 只有一个盒子上写有 $3$ 的倍数:写有 $3$ 的盒子。这些盒子中包含的球的总数为 $0$。
因此,满足条件,所以这个选择集是好的。
5
0 0 0 0 0
0
在盒子里什么也不放也是一个好的选择集。