310140: CF1788A. One and Two

Memory Limit:256 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

One and Two

题意翻译

# One and Two ## 题目描述 给你一个数列 $ a_1, a_2, \ldots, a_n $ . 数列中的每一个数的值要么是 $ 1 $ 要么是 $ 2 $ . 找到一个最小的正整数 $ k $,使之满足: - $ 1 \leq k \leq n-1 $ , and - $ a_1 \cdot a_2 \cdot \ldots \cdot a_k = a_{k+1} \cdot a_{k+2} \cdot \ldots \cdot a_n $ . ## 输入格式 第一行输入一个 $ t $,表示测试用例数目。 每个测试用例的第一行输入一个 $ n $ ( $ 2 \leq n \leq 1000 $ ). 后面一行输入 $ n $ 个整数$ a_1, a_2, \ldots, a_n $ ( $ 1 \leq a_i \leq 2 $ ). ## 输出格式 找不到 $k$ 输出 $ -1 $. 否则输出满足条件的 $k$ 的最小值。 ## 样例 #1 ### 样例输入 #1 ``` 3 6 2 2 1 2 1 2 3 1 2 1 4 1 1 1 1 ``` ### 样例输出 #1 ``` 2 -1 1 ``` ## 提示 就是找一个最小的整数 $k$,使满足 $k$ 及其前面的乘积和其之后的乘积相等。

题目描述

You are given a sequence $ a_1, a_2, \ldots, a_n $ . Each element of $ a $ is $ 1 $ or $ 2 $ . Find out if an integer $ k $ exists so that the following conditions are met. - $ 1 \leq k \leq n-1 $ , and - $ a_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 $ 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 \le t \le 100 $ ). Description of the test cases follows. The first line of each test case contains one integer $ n $ ( $ 2 \leq n \leq 1000 $ ). The second line of each test case contains $ n $ integers $ a_1, a_2, \ldots, a_n $ ( $ 1 \leq a_i \leq 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 $ a_1 \cdot a_2 = a_3 \cdot a_4 \cdot a_5 \cdot a_6 = 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 $ a_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=1 $ , $ 2 $ , and $ 3 $ satisfy the given condition, so the answer is $ 1 $ .

Input

题意翻译

# One and Two ## 题目描述 给你一个数列 $ a_1, a_2, \ldots, a_n $ . 数列中的每一个数的值要么是 $ 1 $ 要么是 $ 2 $ . 找到一个最小的正整数 $ k $,使之满足: - $ 1 \leq k \leq n-1 $ , and - $ a_1 \cdot a_2 \cdot \ldots \cdot a_k = a_{k+1} \cdot a_{k+2} \cdot \ldots \cdot a_n $ . ## 输入格式 第一行输入一个 $ t $,表示测试用例数目。 每个测试用例的第一行输入一个 $ n $ ( $ 2 \leq n \leq 1000 $ ). 后面一行输入 $ n $ 个整数$ a_1, a_2, \ldots, a_n $ ( $ 1 \leq a_i \leq 2 $ ). ## 输出格式 找不到 $k$ 输出 $ -1 $. 否则输出满足条件的 $k$ 的最小值。 ## 样例 #1 ### 样例输入 #1 ``` 3 6 2 2 1 2 1 2 3 1 2 1 4 1 1 1 1 ``` ### 样例输出 #1 ``` 2 -1 1 ``` ## 提示 就是找一个最小的整数 $k$,使满足 $k$ 及其前面的乘积和其之后的乘积相等。

Output

**题目大意:**

题目给定一个数列 $ a_1, a_2, \ldots, a_n $,数列中的每个数都是1或2。需要找到一个最小的正整数 $ k $,满足:

- $ 1 \leq k \leq n-1 $,并且
- $ a_1 \cdot a_2 \cdot \ldots \cdot a_k = a_{k+1} \cdot a_{k+2} \cdot \ldots \cdot a_n $。

如果存在多个满足条件的 $ k $,输出最小的 $ k $。

**输入数据格式:**

第一行输入一个 $ t $,表示测试用例的数目。
每个测试用例的第一行输入一个 $ n $($ 2 \leq n \leq 1000 $)。
接下来一行输入 $ n $ 个整数 $ a_1, a_2, \ldots, a_n $($ 1 \leq a_i \leq 2 $)。

**输出数据格式:**

对于每个测试用例,如果不存在这样的 $ k $,输出 $ -1 $。
否则输出满足条件的最小的 $ k $。

**样例输入输出:**

输入样例:

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

输出样例:

```
2
-1
1
```

**说明:**

第一个测试用例中,$ k=2 $ 满足条件,因为 $ a_1 \cdot a_2 = a_3 \cdot a_4 \cdot a_5 \cdot a_6 = 4 $。$ k=3 $ 也满足条件,但是应该输出最小的 $ k $。

第二个测试用例中,不存在满足 $ a_1 \cdot a_2 \cdot \ldots \cdot a_k = a_{k+1} \cdot a_{k+2} \cdot \ldots \cdot a_n $ 的 $ k $。

第三个测试用例中,$ k=1 $、$ 2 $ 和 $ 3 $ 都满足条件,所以答案是 $ 1 $。**题目大意:** 题目给定一个数列 $ a_1, a_2, \ldots, a_n $,数列中的每个数都是1或2。需要找到一个最小的正整数 $ k $,满足: - $ 1 \leq k \leq n-1 $,并且 - $ a_1 \cdot a_2 \cdot \ldots \cdot a_k = a_{k+1} \cdot a_{k+2} \cdot \ldots \cdot a_n $。 如果存在多个满足条件的 $ k $,输出最小的 $ k $。 **输入数据格式:** 第一行输入一个 $ t $,表示测试用例的数目。 每个测试用例的第一行输入一个 $ n $($ 2 \leq n \leq 1000 $)。 接下来一行输入 $ n $ 个整数 $ a_1, a_2, \ldots, a_n $($ 1 \leq a_i \leq 2 $)。 **输出数据格式:** 对于每个测试用例,如果不存在这样的 $ k $,输出 $ -1 $。 否则输出满足条件的最小的 $ k $。 **样例输入输出:** 输入样例: ``` 3 6 2 2 1 2 1 2 3 1 2 1 4 1 1 1 1 ``` 输出样例: ``` 2 -1 1 ``` **说明:** 第一个测试用例中,$ k=2 $ 满足条件,因为 $ a_1 \cdot a_2 = a_3 \cdot a_4 \cdot a_5 \cdot a_6 = 4 $。$ k=3 $ 也满足条件,但是应该输出最小的 $ k $。 第二个测试用例中,不存在满足 $ a_1 \cdot a_2 \cdot \ldots \cdot a_k = a_{k+1} \cdot a_{k+2} \cdot \ldots \cdot a_n $ 的 $ k $。 第三个测试用例中,$ k=1 $、$ 2 $ 和 $ 3 $ 都满足条件,所以答案是 $ 1 $。

加入题单

算法标签: