‘커닝시티 헤어샵’에는 원장 돈 지오바네와 보조 안드레아가 일하고 있다. 어느 날, 이 둘에게 헤어 스타일링을 받으려는 고객 명이 한 줄로 기다리고 있다.
돈 지오바네와 안드레아는 각 고객이 서비스받는 시간을 알고 있다. 고객들은 줄을 선 순서대로 서비스를 받아야 한다. 돈 지오바네와 안드레아는 협력해서 일하여 최대 명의 고객을 동시에 서비스할 수 있다. 만약 두 사람이 동시에 명의 고객을 서비스하는 경우, 두 고객 중 서비스받는 시간이 오래 걸리는 쪽의 시간이 걸린다.
돈 지오바네와 안드레아가 모든 고객을 서비스하는 데 걸리는 최소 시간을 계산하는 프로그램을 작성하라.
첫 줄에 고객의 수를 나타내는 정수 이 주어진다. ()
그다음 줄에 명의 고객이 서비스받는 시간을 나타내는 정수 개가 줄을 선 순서대로 공백으로 구분되어 주어진다.
각 고객이 서비스받는 시간은 이상 이하다.
첫 줄에 모든 고객을 서비스하기 위해 필요한 최소 시간을 출력한다.
4 2 3 4 3
7
4 1 3 3 1
5
입력 예제 1에서 첫 번째와 두 번째 고객을 동시에 서비스해서 시간 이 걸리고, 세 번째와 네 번째 고객을 동시에 서비스해서 시간 가 걸린다. 따라서, 전체 시간은 이며 이 방법이 최선이다.
입력 예제 2에서 첫 번째 고객을 서비스하여 시간 이 걸리고, 두 번째와 세 번째 고객을 동시에 서비스하여 시간 이, 네 번째 고객을 서비스하여 시간 이 걸린다. 따라서, 전체 시간은 이며 이 방법이 최선이다.
입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞혀야 그 종류에 배정된 점수를 받을 수 있다.
종류 1: 19점
종류 2: 14점
고객이 서비스받는 시간은 모두 동일함.
종류 3: 67점
추가적인 제한 조건이 없음.