사탕 나누기
시간 제한5초메모리 제한512 MB
받아올림 없는 덧셈으로 두 더미의 값이 같아지도록 사탕을 두 비어 있지 않은 더미로 나누고 자신이 가지는 합의 최댓값을 구합니다.
문제
션과 패트릭은 형제다. 부모님에게서 사탕이 든 봉지를 받았다. 사탕마다 양의 정수 값이 매겨져 있고, 두 사람은 이 사탕을 나눠 가지려고 한다. 먼저 션이 사탕을 두 더미로 나눈 다음 그중 한 더미를 골라 패트릭에게 준다. 그다음 패트릭이 두 더미의 값을 각각 계산한다. 더미의 값은 그 더미에 든 사탕 값을 모두 더한 값이다. 두 더미의 값이 다르다고 판단하면 패트릭은 울기 시작한다.
패트릭은 아직 어려서 덧셈을 제대로 하지 못한다. 이진법 덧셈을 거의 할 줄 알지만, 1과 1을 더할 때 윗자리로 올림을 넘기는 것을 늘 잊어버린다. 예를 들어 12(이진법으로 1100)와 5(이진법으로 101)를 더하면 오른쪽 두 자리는 제대로 더하지만, 셋째 자리에서 올림을 윗자리로 넘기지 않는다.
1100
+ 0101
------
1001
셋째 자리의 올림 없이 마지막 자리까지 더했으므로 결과는 9(이진법으로 1001)다. 패트릭의 계산은 이런 식이다.
5 + 4 = 1
7 + 9 = 14
50 + 10 = 56
션은 덧셈을 잘하고, 동생을 울리지 않으면서 자기 몫의 값을 최대로 가져가려 한다. 가능하다면 션은 봉지를 비어 있지 않은 두 더미로 나누어, 패트릭이 두 더미의 값을 같다고 여기게 만든다. 봉지에 든 사탕 값이 모두 주어질 때 이런 분할이 가능한지 판단하고, 가능하면 션이 가지는 더미의 값의 최댓값을 구하라.
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다. 이어서 개의 테스트 케이스가 주어진다. 각 테스트 케이스는 두 줄로 이루어진다. 첫째 줄에는 봉지에 든 사탕의 개수 이 주어진다. 둘째 줄에는 사탕 각각의 값 가 공백 한 칸으로 구분되어 주어진다.
제한
출력
각 테스트 케이스마다 "Case #x: y" 형식으로 한 줄씩 출력한다. x는 1부터 시작하는 테스트 케이스 번호다. 패트릭을 울리지 않고 나누는 방법이 없으면 y는 NO이고, 있으면 y는 션이 가지는 더미의 값이다.