CF1438B.Valerii Against Everyone

入门

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You're given an array bb of length nn. Let's define another array aa, also of length nn, for which ai=2bia_i = 2^{b_i} (1≤i≤n1 \leq i \leq n).

Valerii says that every two non-intersecting subarrays of aa have different sums of elements. You want to determine if he is wrong. More formally, you need to determine if there exist four integers l1,r1,l2,r2l_1,r_1,l_2,r_2 that satisfy the following conditions:

  • 1≤l1≤r1<l2≤r2≤n1 \leq l_1 \leq r_1 \lt l_2 \leq r_2 \leq n;
  • al1+al1+1+…+ar1−1+ar1=al2+al2+1+…+ar2−1+ar2a_{l_1}+a_{l_1+1}+\ldots+a_{r_1-1}+a_{r_1} = a_{l_2}+a_{l_2+1}+\ldots+a_{r_2-1}+a_{r_2}.

If such four integers exist, you will prove Valerii wrong. Do they exist?

An array cc is a subarray of an array dd if cc can be obtained from dd by deletion of several (possibly, zero or all) elements from the beginning and several (possibly, zero or all) elements from the end.

给你一个长度为 nn 的数组 bb。我们定义另一个长度同样为 nn 的数组 aa,其中 ai=2bia_i = 2^{b_i}(1≤i≤n1 \leq i \leq n)。

Valerii 声称:数组 aa 的任意两个互不相交的子数组的元素和均不相等。你想判断他是否说错了。更准确地说,你需要判断是否存在四个整数 l1,r1,l2,r2l_1, r_1, l_2, r_2,满足以下条件:

  • 1≤l1≤r1<l2≤r2≤n1 \leq l_1 \leq r_1 \lt l_2 \leq r_2 \leq n;
  • al1+al1+1+…+ar1−1+ar1=al2+al2+1+…+ar2−1+ar2a_{l_1}+a_{l_1+1}+\ldots+a_{r_1-1}+a_{r_1} = a_{l_2}+a_{l_2+1}+\ldots+a_{r_2-1}+a_{r_2}。

若存在这样的四个整数,则说明 Valerii 的说法是错误的。是否存在这样的四个整数?

数组 cc 是数组 dd 的子数组,当且仅当 cc 可通过从 dd 的开头删除若干(可能为零个或全部)元素、并从结尾删除若干(可能为零个或全部)元素而得到。

输入格式

Each test contains multiple test cases. The first line contains the number of test cases tt (1≤t≤1001 \le t \le 100). Description of the test cases follows.

The first line of every test case contains a single integer nn (2≤n≤10002 \le n \le 1000).

The second line of every test case contains nn integers b1,b2,…,bnb_1,b_2,\ldots,b_n (0≤bi≤1090 \le b_i \le 10^9).

每个测试包含多个测试用例。第一行包含测试用例的数量 tt(1≤t≤1001 \le t \le 100)。随后是测试用例的描述。

每个测试用例的第一行包含一个整数 nn(2≤n≤10002 \le n \le 1000)。

每个测试用例的第二行包含 nn 个整数 b1,b2,…,bnb_1,b_2,\ldots,b_n(0≤bi≤1090 \le b_i \le 10^9)。

输出格式

For every test case, if there exist two non-intersecting subarrays in aa that have the same sum, output YES on a separate line. Otherwise, output NO on a separate line.

Also, note that each letter can be in any case.

对于每个测试用例,如果数组 aa 中存在两个不相交的子数组,且它们的和相等,则在单独一行输出 YES;否则,在单独一行输出 NO。

另外,请注意:每个字母可以是任意大小写。

输入输出样例

  • 输入#1

    2
    6
    4 3 0 1 2 0
    2
    2 5

    输出#1

    YES
    NO

说明/提示

In the first case, a=[16,8,1,2,4,1]a = [16,8,1,2,4,1]. Choosing l1=1l_1 = 1, r1=1r_1 = 1, l2=2l_2 = 2 and r2=6r_2 = 6 works because 16=(8+1+2+4+1)16 = (8+1+2+4+1).

In the second case, you can verify that there is no way to select to such subarrays.

在第一种情况下,a=[16,8,1,2,4,1]a = [16,8,1,2,4,1]。选择 l1=1l_1 = 1、r1=1r_1 = 1、l2=2l_2 = 2 和 r2=6r_2 = 6 是可行的,因为 16=(8+1+2+4+1)16 = (8+1+2+4+1)。

在第二种情况下,可以验证不存在满足条件的两个子数组。

输入解题思路,AI测评打分。不知道怎么写?

首页