305699: CF1077C. Good Array

Memory Limit:256 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:33 Solved:0

Description

Good Array

题意翻译

#### 题目描述 一个序列是好的当且仅当有一个数是其它所有数的和,比如$a=[1,3,3,7]$中$7=1+3+3$,所以这个序列是好的。 给你长度为$n$的序列$a$,你的任务是输出所有的$j$使得去掉$a_j$后的序列是好的。 举例,$a=[8,3,5,2]$,答案是$1$和$4$ - 如果你去掉$a_1$,剩下$[3,5,2]$,是好的 - 如果你去掉$a_4$,剩下$[8,3,5]$,是好的 你需要**独立地**检查所有项。比方说你去掉这个数,然后检查剩下的序列是否是好的,然后再放回去。 #### 输入格式 第一行一个整数$n(1\le n\le 2\times 10^5)$ 第二行$n$个整数$a_1, a_2, ..., a_n(1\le a_i\le 10^6)$ #### 输出格式 第一行输出一个整数$k$,表示答案的个数 接下来一行$k$个整数$j_1, j_2, ..., j_k$,可以以任意顺序输出,表示答案 如果没有$j$满足要求,第一行输出$0$,然后让第二行为空。

题目描述

Let's call an array good if there is an element in the array that equals to the sum of all other elements. For example, the array $ a=[1, 3, 3, 7] $ is good because there is the element $ a_4=7 $ which equals to the sum $ 1 + 3 + 3 $ . You are given an array $ a $ consisting of $ n $ integers. Your task is to print all indices $ j $ of this array such that after removing the $ j $ -th element from the array it will be good (let's call such indices nice). For example, if $ a=[8, 3, 5, 2] $ , the nice indices are $ 1 $ and $ 4 $ : - if you remove $ a_1 $ , the array will look like $ [3, 5, 2] $ and it is good; - if you remove $ a_4 $ , the array will look like $ [8, 3, 5] $ and it is good. You have to consider all removals independently, i. e. remove the element, check if the resulting array is good, and return the element into the array.

输入输出格式

输入格式


The first line of the input contains one integer $ n $ ( $ 2 \le n \le 2 \cdot 10^5 $ ) — the number of elements in the array $ a $ . The second line of the input contains $ n $ integers $ a_1, a_2, \dots, a_n $ ( $ 1 \le a_i \le 10^6 $ ) — elements of the array $ a $ .

输出格式


In the first line print one integer $ k $ — the number of indices $ j $ of the array $ a $ such that after removing the $ j $ -th element from the array it will be good (i.e. print the number of the nice indices). In the second line print $ k $ distinct integers $ j_1, j_2, \dots, j_k $ in any order — nice indices of the array $ a $ . If there are no such indices in the array $ a $ , just print $ 0 $ in the first line and leave the second line empty or do not print it at all.

输入输出样例

输入样例 #1

5
2 5 1 2 2

输出样例 #1

3
4 1 5

输入样例 #2

4
8 3 5 2

输出样例 #2

2
1 4 

输入样例 #3

5
2 1 2 4 3

输出样例 #3

0

说明

In the first example you can remove any element with the value $ 2 $ so the array will look like $ [5, 1, 2, 2] $ . The sum of this array is $ 10 $ and there is an element equals to the sum of remaining elements ( $ 5 = 1 + 2 + 2 $ ). In the second example you can remove $ 8 $ so the array will look like $ [3, 5, 2] $ . The sum of this array is $ 10 $ and there is an element equals to the sum of remaining elements ( $ 5 = 3 + 2 $ ). You can also remove $ 2 $ so the array will look like $ [8, 3, 5] $ . The sum of this array is $ 16 $ and there is an element equals to the sum of remaining elements ( $ 8 = 3 + 5 $ ). In the third example you cannot make the given array good by removing exactly one element.

Input

题意翻译

#### 题目描述 一个序列是好的当且仅当有一个数是其它所有数的和,比如$a=[1,3,3,7]$中$7=1+3+3$,所以这个序列是好的。 给你长度为$n$的序列$a$,你的任务是输出所有的$j$使得去掉$a_j$后的序列是好的。 举例,$a=[8,3,5,2]$,答案是$1$和$4$ - 如果你去掉$a_1$,剩下$[3,5,2]$,是好的 - 如果你去掉$a_4$,剩下$[8,3,5]$,是好的 你需要**独立地**检查所有项。比方说你去掉这个数,然后检查剩下的序列是否是好的,然后再放回去。 #### 输入格式 第一行一个整数$n(1\le n\le 2\times 10^5)$ 第二行$n$个整数$a_1, a_2, ..., a_n(1\le a_i\le 10^6)$ #### 输出格式 第一行输出一个整数$k$,表示答案的个数 接下来一行$k$个整数$j_1, j_2, ..., j_k$,可以以任意顺序输出,表示答案 如果没有$j$满足要求,第一行输出$0$,然后让第二行为空。

加入题单

上一题 下一题 算法标签: