쌍동선 밸러스트

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

문제

강한 바람이 불면 범선은 바람의 반대쪽으로 기우는 경향이 있는데, 이를 힐링(heeling)이라고 한다. 힐링은 최소 두 가지 이유로 바람직하지 않다. 첫째, 유효 돛 면적이 줄어든다. 돛의 유효 높이가 힐링 각도의 코사인만큼 곱해지기 때문이며, 돛 면적이 줄면 속도도 줄어든다. 둘째, 배가 너무 많이 기울어 무게중심이 선체 위를 벗어나면 배가 전복된다.

이를 막기 위해 쌍동선(catamaran)은 선체를 좌현(port)과 우현(starboard) 두 개로 나눈다. 폭이 넓어지면 돛이 배를 기울이는 수직 방향의 기계적 이점이 줄어들어 힐링이 완화되고, 전복되기 전까지 견딜 수 있는 힐링 각도도 커진다.

또 다른 방법은 밸러스트(ballast), 즉 힐링을 상쇄하기 위해 선체에 싣는 무게추다. 선장은 쌍동선을 해변에 대고 밸러스트로 쓸 돌 몇 개를 주웠다. 한쪽으로 치우친 짐은 그 자체로 배를 기울이므로, 선장은 두 선체에 짐을 최대한 고르게 나누고 싶어 한다.

돌 $n$개가 주어질 때, 이들을 좌현 선체와 우현 선체에 나누어 싣고, 두 선체가 싣는 밸러스트 총무게의 차이가 가장 작을 때 그 차이를 구하여라.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 밸러스트로 쓸 돌의 개수 $n$ ($1 < n \le 100$)이 적힌 줄로 시작한다. 이어지는 $n$개의 줄에는 각 돌의 무게(킬로그램)가 하나씩 주어지며, 이 값은 $1$ 이상 $100$ 이하의 정수이다. 마지막 테스트 케이스 다음에는 $0$ 하나만 적힌 줄이 오며, 이 줄은 처리하지 않는다.

출력

각 테스트 케이스마다 한 줄에 정수 하나를 출력한다. 이 값은 돌을 두 선체에 나누는 모든 방법을 통틀어, 좌현 선체에 실린 돌의 총무게와 우현 선체에 실린 돌의 총무게 차이(절댓값)의 최솟값이다. 모든 돌은 반드시 두 선체 중 정확히 한 곳에 실려야 한다.