사탕 나누기
면접 대비시간 제한2초메모리 제한512 MB
n개의 상자(n은 최대 24)를 세 그룹으로 나누어 합이 A <= D <= B가 되게 하고, B - A의 최솟값을 구한다.
문제
어린이날을 맞아 어머니가 세 형제 안톤(Anton), 드미트로(Dmytro), 보리스(Borys)에게 사탕을 잔뜩 주었다. 사탕은 개의 상자에 담겨 있고, 번째 상자에는 개의 사탕이 들어 있다. 각 상자는 통째로 한 형제에게만 배정하며, 개의 상자를 남김없이 세 형제에게 나눈다.
안톤, 드미트로, 보리스가 받게 되는 사탕의 총합을 각각 , , 라 하자. 형제들은 다음 규칙에 따라 공정하게 나누려고 한다.
- 형은 동생보다 사탕을 더 많이 받을 수 없다. 안톤이 드미트로보다 나이가 많고, 드미트로가 보리스보다 나이가 많으므로 여야 한다.
- 이 조건을 지키면서 보리스와 안톤이 받은 사탕 개수의 차이 를 최소로 만든다.
의 최소값을 구하라.
입력
첫째 줄에 상자의 개수 이 주어진다 (). 둘째 줄에 각 상자에 든 사탕의 개수를 나타내는 개의 양의 정수 가 공백으로 구분되어 주어진다 ().
출력
안톤과 보리스가 받은 사탕 개수의 최소 차이, 즉 의 최소값을 한 줄에 정수 하나로 출력한다.