만드는 중입니다

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

정사각형 자르기

시간 제한2초메모리 제한512 MB

요약
회차별로 자른 정사각형 개수만 주어졌을 때 원래 직사각형의 가장 작은 긴 변 L을 복원한다.
난이도

보통10점 중 7점

유형
수학, 정수론, 그리디
정답자
아직 제출이 없습니다

문제

두 사람이 직사각형 종이 한 장을 번갈아 자른다. 종이의 긴 변 길이는 LL, 짧은 변 길이는 WW이다.

차례가 된 사람은 남아 있는 직사각형에서 잘라낼 수 있는 가장 큰 정사각형을 자른다. 짧은 변이 WW인 직사각형에서 잘라낼 수 있는 가장 큰 정사각형은 한 변이 WW인 정사각형이다. 한 차례에 이 크기의 정사각형을 하나 이상 잘라내고, 한 차례에 잘라낸 정사각형은 모두 크기가 같으며, 자르고 남은 부분은 직사각형 한 조각이어야 한다. 남는 부분 없이 종이를 다 자른 사람이 이긴다.

한 판의 기록은 L W r a1 a2 … arL\ W\ r\ a_1\ a_2\ \dots\ a_r 순서로 적는다. rr은 차례의 수이고 aia_i는 ii번째 차례에 잘라낸 정사각형의 개수다. 예를 들어 긴 변이 5이고 짧은 변이 2인 종이에서 먼저 자르는 사람이 한 변이 2인 정사각형 2개를 잘라내면 2×12 \times 1 직사각형이 남고, 다음 사람이 한 변이 1인 정사각형 2개를 잘라내며 판이 끝난다. 이 판의 기록은 5 2 2 2 2 이다.

전산 장애로 각 기록의 앞 두 수 LL과 WW가 지워졌다. 남아 있는 rr과 a1a_1부터 ara_r까지만 보고 LL을 복원하라. 가능한 LL이 여러 개면 가장 작은 값을 답으로 한다.

입력

첫 줄에 기록의 수 MM이 주어진다.

다음 MM개 줄에 기록이 한 줄에 하나씩 주어진다. 각 줄은 차례의 수 rr로 시작하고, 이어서 a1a_1부터 ara_r까지 rr개의 정수가 공백으로 구분되어 주어진다.

  • 1≤M≤201 \le M \le 20
  • 1≤r≤501 \le r \le 50
  • 1≤ai≤1001 \le a_i \le 100
  • 모든 기록은 실제로 진행할 수 있는 판에서 나온 기록이다. 따라서 r≥2r \ge 2이면 ar≥2a_r \ge 2이다.
  • 원래 종이의 크기는 1≤W≤L≤101001 \le W \le L \le 10^{100}을 만족한다.

출력

MM개 줄을 출력한다. ii번째 줄에는 ii번째 기록이 나올 수 있는 직사각형 가운데 긴 변이 가장 짧은 것의 LL 값을 출력한다.

예제4

  1. 예제 1

    입력
    2
    2 2 2
    3 1 1 4
    
    예상 출력
    5
    9
    
  2. 예제 2

    입력
    1
    1 1
    
    예상 출력
    1
    
  3. 예제 3

    입력
    1
    1 100
    
    예상 출력
    100
    
  4. 예제 4

    입력
    4
    2 1 2
    2 3 2
    2 2 3
    5 1 1 1 1 2
    
    예상 출력
    3
    7
    7
    13