CF1788A.One and Two
普及/提高-
通过率:0%
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.
输入格式
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 ).
输出格式
For each test case, if there is no such k , print −1 .
Otherwise, print the smallest possible 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 .