만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

1과 2

시간 제한1초메모리 제한1024 MB

요약
1과 2로 이루어진 수열에서 앞부분의 곱과 뒷부분의 곱이 같아지는 가장 작은 분할 위치 k를 구하거나, 없으면 -1을 출력합니다.
난이도

쉬움10점 중 2점

유형
수학, 구현
정답자
아직 제출이 없습니다

문제

길이가 nn인 수열 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가 여러 개이면 가장 작은 값을 출력한다.

입력

각 테스트는 여러 개의 테스트 케이스로 이루어져 있다. 첫 줄에 테스트 케이스의 개수 tt (1≤t≤1001 \le t \le 100)가 주어지고, 그 뒤에 각 테스트 케이스가 이어진다.

각 테스트 케이스의 첫 줄에는 정수 nn (2≤n≤10002 \le n \le 1000)이 하나 주어진다.

각 테스트 케이스의 둘째 줄에는 정수 a1,a2,…,ana_1, a_2, \ldots, a_n (1≤ai≤21 \le a_i \le 2)이 주어진다.

출력

각 테스트 케이스마다 조건을 만족하는 가장 작은 kk를 출력한다. 그런 kk가 없으면 −1-1을 출력한다.

예제1

  1. 예제 1

    입력
    3
    6
    2 2 1 2 1 2
    3
    1 2 1
    4
    1 1 1 1
    
    예상 출력
    2
    -1
    1