CF1788A.One and Two
入门
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a sequence a1,a2,…,an. Each element of a is 1 or 2.
Find out if an integer k exists so that the following conditions are met.
- 1≤k≤n−1, and
- a1⋅a2⋅…⋅ak=ak+1⋅ak+2⋅…⋅an.
If there exist multiple k that satisfy the given condition, print the smallest.
给你一个序列 a1,a2,…,an,其中 a 的每个元素均为 1 或 2。
请判断是否存在整数 k,使得以下条件同时成立:
- 1≤k≤n−1,且
- a1⋅a2⋅…⋅ak=ak+1⋅ak+2⋅…⋅an。
若存在多个满足条件的 k,请输出其中最小的一个。
输入格式
Each test contains multiple test cases. The first line contains the number of test cases t (1≤t≤100). Description of the test cases follows.
The first line of each test case contains one integer n (2≤n≤1000).
The second line of each test case contains n integers a1,a2,…,an (1≤ai≤2).
每个测试包含多个测试用例。第一行包含测试用例的数量 t(1≤t≤100)。随后是各测试用例的描述。
每个测试用例的第一行包含一个整数 n(2≤n≤1000)。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an(1≤ai≤2)。
输出格式
For each test case, if there is no such k, print −1.
Otherwise, print the smallest possible k.
对于每个测试用例,若不存在满足条件的 k,则输出 −1。
否则,输出最小的可能的 k。
输入输出样例
输入#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=2 satisfies the condition since a1⋅a2=a3⋅a4⋅a5⋅a6=4. k=3 also satisfies the given condition, but the smallest should be printed.
For the second test case, there is no k that satisfies a1⋅a2⋅…⋅ak=ak+1⋅ak+2⋅…⋅an
For the third test case, k=1, 2, and 3 satisfy the given condition, so the answer is 1.
对于第一个测试用例,k=2 满足条件,因为 a1⋅a2=a3⋅a4⋅a5⋅a6=4。k=3 也满足给定条件,但应输出最小的 k。
对于第二个测试用例,不存在满足 a1⋅a2⋅…⋅ak=ak+1⋅ak+2⋅…⋅an 的 k。
对于第三个测试用例,k=1、2 和 3 均满足给定条件,因此答案为 1。
输入解题思路,AI测评打分。不知道怎么写?