CF1788A.One and Two

入门

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

You are given a sequence a1,a2,…,ana_1, a_2, \ldots, a_n. Each element of aa is 11 or 22.

Find out if an integer kk exists so that the following conditions are met.

  • 1≤k≤n−11 \leq k \leq n-1, and
  • a1⋅a2⋅…⋅ak=ak+1⋅ak+2⋅…⋅ana_1 \cdot a_2 \cdot \ldots \cdot a_k = a_{k+1} \cdot a_{k+2} \cdot \ldots \cdot a_n.

If there exist multiple kk that satisfy the given condition, print the smallest.

给你一个序列 a1,a2,…,ana_1, a_2, \ldots, a_n,其中 aa 的每个元素均为 11 或 22。

请判断是否存在整数 kk,使得以下条件同时成立:

  • 1≤k≤n−11 \leq k \leq n-1,且
  • a1⋅a2⋅…⋅ak=ak+1⋅ak+2⋅…⋅ana_1 \cdot a_2 \cdot \ldots \cdot a_k = a_{k+1} \cdot a_{k+2} \cdot \ldots \cdot a_n。

若存在多个满足条件的 kk,请输出其中最小的一个。

输入格式

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 each test case contains one integer nn (2≤n≤10002 \leq n \leq 1000).

The second line of each test case contains nn integers a1,a2,…,ana_1, a_2, \ldots, a_n (1≤ai≤21 \leq a_i \leq 2).

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

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

每个测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤21 \leq a_i \leq 2)。

输出格式

For each test case, if there is no such kk, print −1-1.

Otherwise, print the smallest possible kk.

对于每个测试用例,若不存在满足条件的 kk,则输出 −1-1。

否则,输出最小的可能的 kk。

输入输出样例

  • 输入#1

    3
    6
    2 2 1 2 1 2
    3
    1 2 1
    4
    1 1 1 1

    输出#1

    2
    -1
    1

说明/提示

For the first test case, k=2k=2 satisfies the condition since a1⋅a2=a3⋅a4⋅a5⋅a6=4a_1 \cdot a_2 = a_3 \cdot a_4 \cdot a_5 \cdot a_6 = 4. k=3k=3 also satisfies the given condition, but the smallest should be printed.

For the second test case, there is no kk that satisfies a1⋅a2⋅…⋅ak=ak+1⋅ak+2⋅…⋅ana_1 \cdot a_2 \cdot \ldots \cdot a_k = a_{k+1} \cdot a_{k+2} \cdot \ldots \cdot a_n

For the third test case, k=1k=1, 22, and 33 satisfy the given condition, so the answer is 11.

对于第一个测试用例,k=2k=2 满足条件,因为 a1⋅a2=a3⋅a4⋅a5⋅a6=4a_1 \cdot a_2 = a_3 \cdot a_4 \cdot a_5 \cdot a_6 = 4。k=3k=3 也满足给定条件,但应输出最小的 kk。

对于第二个测试用例,不存在满足 a1⋅a2⋅…⋅ak=ak+1⋅ak+2⋅…⋅ana_1 \cdot a_2 \cdot \ldots \cdot a_k = a_{k+1} \cdot a_{k+2} \cdot \ldots \cdot a_n 的 kk。

对于第三个测试用例,k=1k=1、22 和 33 均满足给定条件,因此答案为 11。

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

首页