#CF2229C1. 我们来翻转(简单版) / We Be Flipping (Easy Version)

我们来翻转(简单版) / We Be Flipping (Easy Version)

题目描述

给定一个长度为 nn 的非零整数数组 aa

一次操作中,你需要选择一个当前满足 ai>0a_i > 0 的下标 ii,然后把前缀 a1,a2,,aia_1,a_2,\ldots,a_i 中的所有数都乘以 1-1

你至多可以进行 nn 次操作。请输出一组合法操作,使最终数组元素和尽可能小。

这是简单版本。

输入格式

每个测试包含多组测试数据。

第一行包含整数 tt1t1041 \le t \le 10^4)。

每组测试数据第一行包含整数 nn2n21052 \le n \le 2\cdot 10^5),表示数组长度。

第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n109ai109-10^9 \le a_i \le 10^9,且 ai0a_i \ne 0)。

保证所有测试数据的 nn 之和不超过 21052\cdot 10^5

输出格式

对于每组测试数据,先输出整数 kk0kn0 \le k \le n),表示操作次数。

然后输出 kk 个整数 b1,b2,,bkb_1,b_2,\ldots,b_k,其中 bib_i 表示第 ii 次操作选择的下标。

执行这些操作后,数组 aa 的元素和必须最小。

样例 1

3
5
-1 -2 -3 -5 -4
5
-1 -2 3 -5 4
4
5 7 10 19
0

4
3 5 4 2
1
4

约束与提示

  • 时间限制:2 秒

  • 内存限制:256 MB

  • 原题编号:CF2229C1