比赛场次 760
比赛名称 2026.8.28
比赛状态 已结束比赛成绩
开始时间 2026-08-28 08:30:00
结束时间 2026-08-28 13:00:00
开放分组 全部用户
组织者 HXF
注释介绍
题目名称 一周一次买下同班同学的那些事
输入输出 bought.in/out
时间限制 2000 ms (2 s)
内存限制 512 MiB
测试点数 10 评测插件
用户 结果 时间 内存 得分
Gravatar彭欣越 AAAAAAAAAA 0.306 s 4.21 MiB 100
Gravatardream AAAAAAAAAA 0.316 s 4.57 MiB 100
Gravatar123 AAAAAAAAAA 0.316 s 7.16 MiB 100
Gravatarzcx AAAAAAAAAA 0.316 s 8.56 MiB 100
Gravatardjyqjy AAAAAAAAAA 0.318 s 7.53 MiB 100
Gravatar郑霁桓 AAAAAAAAAA 0.318 s 8.18 MiB 100
Gravatar终焉折枝 AAAAAAAAAA 0.326 s 5.38 MiB 100
GravatarRpUtl AAAAAAAAAA 0.337 s 5.17 MiB 100
GravatarChenBp AAAAAAAAAA 0.360 s 4.61 MiB 100
Gravatar赵飞羽 AAAAAAAAAA 0.368 s 5.32 MiB 100
Gravataryanglich AAAAATTTTT 10.568 s 5.99 MiB 50
Gravatarexil WWWWWWWWWW 0.295 s 4.45 MiB 0
GravatarRuyi WWWWWWWWWW 0.314 s 4.74 MiB 0
Gravatar李金泽 WWWWWWWWWW 0.348 s 6.17 MiB 0
Gravatar0814d WWWWWWWWWW 0.693 s 4.29 MiB 0
Gravatarhsl_beat WWWWWWWWWW 0.861 s 4.82 MiB 0
Gravatar__0w0__ RRRRRRRRRR 1.375 s 3.27 MiB 0
Gravatarx123456 WWWWWTTTTT 10.956 s 5.18 MiB 0
Gravatarwmlsxzh TTTTTEEEEE 11.244 s 26.00 MiB 0

1. 一周一次买下同班同学的那些事

★   输入文件:bought.in   输出文件:bought.out  
时间限制:2 s   内存限制:512 MiB

【题目背景】

全名为《我买下了与她的每周密会~以五千圆为借口,共度两人时光~》。

宫城又离家出走了。

【题目描述】

仙台给了你一个长度为 $n$ 的宫城好感度数组 $a$,好感度数组中的元素为非零整数,可以为负数(问就是仙台宫城生气了)。为了让宫城回来,仙台最多可以进行 $n$ 次如下操作(也可以一次都不做):

- 选择一个下标 $i$($1 \le i \le n$),要求好感度 $a_i > 0$;

- 对于每个 $j$ 满足 $1 \le j \le i$,执行 $a_j := -a_j$。

请你帮助仙台输出一组长度不超过 $n$ 的合法操作序列,使最终数组 $a$ 的元素和最大。

【输入格式】

每组测试数据包含多组测试用例。第一行输入测试用例的数量 $t$($1 \le t \le 10^4$)。接下来每组测试用例如下:

第一行输入一个整数 $n$($2 \le n \le 2 \cdot 10^5$),表示数组 $a$ 的长度。

第二行输入 $n$ 个整数 $a_1,a_2,\ldots,a_n$($-10^9 \le a_i \le 10^9, a_i \ne 0$)。

保证所有测试用例的 $n$ 之和不超过 $2 \cdot 10^5$。

【输出格式】

对于每组测试用例,输出一行整数 $k$($0 \le k \le n$),表示你执行操作的次数。

接下来输出一行 $k$ 个整数 $b_1,\ldots,b_k$,其中 $b_i$ 表示你在第 $i$ 次操作选择的下标。

操作序列执行完后,数组 $a$ 的和应当被最大化。

【样例输入】

5
5
-1 -2 -3 -5 -4
4
5 7 10 19
5
1 -3 2 -1 10
4
16 -13 -18 -16
11
2 -10 -11 3 -10 15 7 18 16 17 -9

【样例输出】

0

0

2
1 3
0

6
6 3 1 5 4 7

【样例说明】

在第一个测试用例中,没有可行的操作。

在第二个测试用例中,好感度数组的和已经最大。

在第三个测试用例中,操作如下:

- $[1, -3, 2, -1, 10] \rightarrow{i = 1} [\color{red}{-1}, -3, 2, -1, 10]$

- $[-1, -3, 2, -1, 10] \rightarrow{i = 3} [\color{red}{1, 3, -2}, -1, 10]$

此时的数组和为 $11$,这是可以达到的最大值。

【数据规模与约定】

对于 $50\%$ 的数据,满足 $1 \le n \le 5000,1 \le \sum n \le 10^4$。

什么,你问我 checker 在哪,因为宫城离家出走了,仙台很着急,没有时间给你写 checker。

大洋里的 ans 中只有最大值,没有输出方案,请选手自行检查输出方案(本来是没有大洋里的)。

大洋里