아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

나비 투표용지

면접 대비

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

요약
각 후보의 의도 표수가 짝수로 주어질 때, 투표함을 반 칸 어긋나게 배치해 후보 순서를 정하면 각 후보 표의 절반이 아래 후보에게 넘어간다. 후보 1이 1위를 차지할 수 있는지 판정한다.
난이도

보통10점 중 6점

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

문제

선거에서 특정 후보의 당선 확률을 높이려면 선거 관리 위원회에 우군을 두는 것이 도움이 된다. 그 고전적인 수법 중 하나가 나비 투표용지다. 나비 투표용지에서는 모든 후보의 이름이 한쪽(예를 들어 왼쪽)에 세로로 인쇄되고, 표를 기입하는 칸은 반대쪽에 세로로 인쇄된다. 이 칸들을 살짝 어긋나게 배치하면 어느 칸이 어느 후보의 것인지 헷갈리기 쉬워지고, 주의 깊지 않은 유권자는 엉뚱한 후보의 칸에 표시하기 쉽다.

당신은 가능하다면 당신의 후보가 당선되도록 투표용지를 설계해야 한다. 모든 후보는 당신이 정하는 위에서 아래로의 어떤 순서로 투표용지에 실려야 한다. 칸은 반대쪽에 반 칸씩 어긋나 놓인다. 즉 첫 번째 칸은 첫 번째 후보 위에, 두 번째 칸은 첫 번째와 두 번째 후보 사이에, 이런 식으로 이어진다. 그 결과, 투표용지에서 ii번째 위치의 후보에게 투표하려던 유권자 중 절반은 실제로 그 후보에게, 나머지 절반은 실수로 i+1i + 1번째 위치의 후보(바로 아래 후보)에게 투표한다. 투표용지의 맨 마지막 후보에게 투표하려던 유권자는 모두 제대로 투표한다.

당신의 후보는 입력의 11번 후보다. 어떤 배치를 통해 11번 후보가 다른 모든 후보 이상의 표를 얻게 만들 수 있는지 판정하라. 공동 11위도 당선으로 본다.

입력

첫 줄에는 데이터 집합의 개수인 정수 K≥1K \ge 1이 주어진다. 이어서 KK개의 데이터 집합이 주어진다.

각 데이터 집합의 첫 줄에는 후보의 수인 정수 nn이 주어지며 1≤n≤1001 \le n \le 100이다. 11번 후보가 당선시키려는 후보다. 다음 nn개의 줄에는 각각 ii번 후보에게 투표하려는 유권자 수 viv_i가 주어진다. 모든 viv_i는 짝수이므로 절반으로 나눌 때 항상 정확히 나누어떨어진다.

출력

각 데이터 집합마다 먼저 그 집합의 번호 xx에 대해 Data Set x:를 한 줄에 출력한다. 그 다음 11번 후보를 당선시킬 수 있으면 Possible을, 그렇지 않으면 Impossible을 한 줄에 출력한다.

예제3

  1. 예제 1

    입력
    2
    5
    10
    54
    8
    94
    48
    5
    10
    54
    8
    94
    52
    
    예상 출력
    Data Set 1:
    Possible
    Data Set 2:
    Possible
    
  2. 예제 2

    입력
    1
    1
    100
    
    예상 출력
    Data Set 1:
    Possible
    
  3. 예제 3

    입력
    1
    3
    2
    40
    6
    
    예상 출력
    Data Set 1:
    Possible