SCV가 최대 3마리일 때, 서로 다른 SCV에 9, 3, 1의 피해를 주는 공격을 최소 몇 번 해야 모두 파괴할 수 있는지 구한다.
수빈이는 강호와 스타크래프트를 하고 있다. 수빈이에게는 뮤탈리스크 한 마리가 남았고, 강호에게는 SCV NNN대가 남았다. SCV는 뮤탈리스크를 공격하지 못하므로 승패는 이미 갈렸다. 남은 문제는 SCV를 모두 파괴하는 데 공격을 몇 번 해야 하는지다.
뮤탈리스크는 한 번 공격할 때 서로 다른 SCV를 최대 세 대까지 공격할 수 있다.
한 번의 공격에서 같은 SCV를 두 번 이상 공격할 수는 없다. SCV의 체력이 0 이하가 되면 그 즉시 파괴된다.
남은 SCV의 체력이 주어질 때, 모든 SCV를 파괴하는 데 필요한 공격 횟수의 최솟값을 구하는 프로그램을 작성하시오.
첫째 줄에 SCV의 수 NNN (1≤N≤31 \le N \le 31≤N≤3)이 주어진다. 둘째 줄에 SCV NNN대의 체력이 공백으로 구분되어 주어진다. 체력은 60 이하의 자연수다.
모든 SCV를 파괴하는 데 필요한 공격 횟수의 최솟값을 첫째 줄에 출력한다.
체력이 12, 10, 4인 SCV 세 대를 생각해 보자. 1번, 3번, 2번 순서로 공격하면 남은 체력은 (12−9,10−1,4−3)=(3,9,1)(12-9, 10-1, 4-3) = (3, 9, 1)(12−9,10−1,4−3)=(3,9,1)이 된다. 이어서 2번, 1번, 3번 순서로 공격하면 (3−3,9−9,1−1)=(0,0,0)(3-3, 9-9, 1-1) = (0, 0, 0)(3−3,9−9,1−1)=(0,0,0)이 되어 두 번의 공격으로 끝난다.