编程题
### 问题描述 在一个整数数组 $nums$ 中,如果任意三个不同的下标 $i,j,k$, 都满足 $nums[i] + nums[j] + nums[k] = nums[l]$(其中 $l$ 可以是数组中的任意一个下标,包括 $i,j,k$),那么称数组 $nums$ 为神秘数组。 现在小橙子获得了一个数组 $a$,他想知道数组 $a$ 是否是一个神秘数组,但是他的智商难以解决这个问题,你可以帮助他判断吗? 如果数组 $a$ 是一个神秘数组,输出 `YES`, 否则输出 `NO`。 ### 输入格式 第一行一个整数 $n$,表示数组 $a$ 的长度。 第二行 $n$ 个整数 $a_1,a_2,a_3 \cdots,a_n$,表示数组 $a$。 数据范围保证:$3 \leq n \leq 200,000$,$-10^9 \leq a_i \leq 10^9$。 ### 输出格式 如果 $a$ 是神秘数组,输出 `YES`,否则输出 `NO`。 ### 样例输入 ```text 4 7 0 0 -7 ``` ### 样例输出 ```text YES ``` ### 样例说明 在样例中,任意三个不同下标之和都在数组中出现了,所以输出 `YES`。 $a_1 + a_2 + a_3 = 7 + 0 + 0 = 7 = a_1$ $a_1 + a_2 + a_4 = 7 + 0 + (-7) = 0 = a_2$
查看答案
赣ICP备20007335号-2