CF1438B Valerii Against Everyone
题目描述
给定一个长度为 $n$ 的数组 $b$。我们定义另一个长度为 $n$ 的数组 $a$,其中 $a_i = 2^{b_i}$($1 \leq i \leq n$)。
Valerii 说,对于数组 $a$ 的任意两个不相交的子数组,它们的元素和都不相同。你想要判断他是否错了。更正式地说,你需要判断是否存在四个整数 $l_1, r_1, l_2, r_2$,满足以下条件:
1. $1 \leq l_1 \leq r_1 < l_2 \leq r_2 \leq n$;
2. $a_{l_1} + a_{l_1+1} + \ldots + a_{r_1} = a_{l_2} + a_{l_2+1} + \ldots + a_{r_2}$。
如果存在这样的四个整数,你就能证明 Valerii 是错的。请判断这样的四个整数是否存在。
数组 $c$ 是数组 $d$ 的一个子数组,如果 $c$ 可以通过从 $d$ 的开头删除若干(可能为零或全部)元素和从结尾删除若干(可能为零或全部)元素得到。
输入格式
每个测试点包含多组测试数据。第一行包含一个整数 $t$($1 \leq t \leq 100$),表示测试数据组数。
每组测试数据的第一行包含一个整数 $n$($2 \leq n \leq 1000$)。
每组测试数据的第二行包含 $n$ 个整数 $b_1, b_2, \ldots, b_n$($0 \leq b_i \leq 10^9$)。
输出格式
对于每组测试数据,如果存在两个不相交的子数组在 $a$ 中具有相同的元素和,则在单独一行输出 YES。否则输出 NO。
注意,输出的字母大小写均可。
说明/提示
在第一个样例中,$a = [16, 8, 1, 2, 4, 1]$。选择 $l_1 = 1$,$r_1 = 1$,$l_2 = 2$,$r_2 = 6$ 是可行的,因为 $16 = (8 + 1 + 2 + 4 + 1)$。
在第二个样例中,可以验证不存在这样的两个子数组。
由 ChatGPT 4.1 翻译