AT_abc134_d [ABC134D] Preparing Boxes
题目描述
有 $N$ 个空箱子横向排列成一排。从左到右第 $i$($1 \leq i \leq N$)个箱子上写着整数 $i$。
すぬけさん可以选择在每个箱子里放一个球,或者什么都不放。
现在,定义满足以下条件的放球方式为“好”的放球方式:
- 对于任意 $1$ 到 $N$ 的整数 $i$,所有编号是 $i$ 的倍数的箱子中球的总数对 $2$ 取余的结果等于 $a_i$。
请判断是否存在“好”的放球方式。如果存在,请给出一种方案。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $a_1$ $a_2$ ... $a_N$
输出格式
如果不存在“好”的放球方式,输出 `-1`。
如果存在,请输出一种这样的放法,格式如下:
> $M$ $b_1$ $b_2$ ... $b_M$
其中 $M$ 表示放了球的箱子的数量,$b_1, b_2, ..., b_M$ 表示这些箱子上写的整数,顺序任意。
说明/提示
### 限制
- 所有输入均为整数。
- $1 \leq N \leq 2 \times 10^5$
- $a_i$ 只可能是 $0$ 或 $1$。
### 样例解释 1
考虑只在写着 $1$ 的箱子里放球的情况。
- 写着 $1$ 的倍数的箱子有写着 $1$、$2$、$3$ 的箱子共 $3$ 个。这些箱子里球的总数为 $1$。
- 写着 $2$ 的倍数的箱子只有写着 $2$ 的箱子,共 $1$ 个。这些箱子里球的总数为 $0$。
- 写着 $3$ 的倍数的箱子只有写着 $3$ 的箱子,共 $1$ 个。这些箱子里球的总数为 $0$。
因此,只在写着 $1$ 的箱子里放球是一种满足条件的“好”的放球方式。
### 样例解释 2
有时什么球都不放也是一种“好”的放法。
由 ChatGPT 4.1 翻译