CF1490E Accidental Victory
题目描述
在 Berland 举办了一场锦标赛,共有 $n$ 名选手参加。编号为 $i$ 的选手拥有 $a_i$ 个筹码($a_i \ge 1$)。
锦标赛共进行 $n-1$ 场比赛,比赛规则如下:
- 每场比赛随机选择两名筹码数大于零的选手;
- 筹码数较多的选手获胜(若筹码数相同,则随机决定胜者);
- 获胜者获得失败者的所有筹码;
最后剩下筹码数大于零的选手即为锦标赛冠军。
锦标赛中所有的随机选择都是等概率且相互独立的。
例如,若 $n=4$,$a = [1, 2, 4, 3]$,则比赛过程可能为(实际过程可能不同):
- 第一场比赛,选中了第一和第四名选手。第四名筹码更多,获胜并获得第一名的筹码。此时 $a = [0, 2, 4, 4]$;
- 第二场比赛,选中了第三和第四名选手。两人筹码相同,随机决定第三名获胜。此时 $a = [0, 2, 8, 0]$;
- 第三场比赛,选中了第二和第三名选手。第三名筹码更多,获胜并获得第二名的筹码。此时 $a = [0, 0, 10, 0]$;
- 第三名选手成为锦标赛冠军。
锦标赛冠军将获得专属奖品。因此,裁判想提前知道哪些选手有机会获胜,即有非零概率成为冠军。请你找出所有有非零概率获胜的选手。
输入格式
第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。接下来是 $t$ 个测试用例。
每个测试用例的第一行包含一个正整数 $n$($1 \le n \le 2 \times 10^5$),表示锦标赛的选手数量。
每个测试用例的第二行包含 $n$ 个正整数 $a_1, a_2, \ldots, a_n$($1 \le a_i \le 10^9$),表示每位选手拥有的筹码数。
保证所有测试用例中 $n$ 的总和不超过 $2 \times 10^5$。
输出格式
对于每个测试用例,输出有非零概率获胜的选手数量。下一行输出这些选手的编号,按升序排列。选手编号从 $1$ 开始,顺序与输入一致。
说明/提示
由 ChatGPT 4.1 翻译