핑거페인팅 물감 키트

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

요약
키트의 색 수 N과 색깔별 필요량, 회색 필요량이 주어질 때, 색을 섞어 회색을 만들면서 모든 요구량을 채우는 최소 키트 수를 구한다.
난이도

보통10점 중 6점

유형
그리디, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

동네 장난감 가게에서는 핑거페인팅 물감 키트를 판다. 키트 하나에는 서로 다른 색의 물감 병이 3개에서 12개까지 들어 있고, 각 병에는 그 색이 5050 ml씩 담겨 있다. 모든 키트는 동일하다. 즉, 색 구성이 같고 각 색이 5050 ml씩 들어 있다.

이 물감에는 서로 다른 세 색을 각각 XX ml씩 섞으면 정확히 XX ml의 회색이 되는 성질이 있다. 물감이 되직해서 섞어도 부피가 늘지 않고 더 진해질 뿐이라, 색 물감 3X3X ml가 회색 XX ml가 된다. 기본 색 중에 회색은 없으며, 회색을 얻는 유일한 방법은 서로 다른 세 색을 섞는 것이다. 어떤 세 색을 고르는지는 상관없다.

에밀리는 매주 금요일 학급에서 핑거페인팅 활동을 한다. 키트 하나에 든 색의 개수, 각 색이 필요한 양, 그리고 회색이 필요한 양이 주어질 때, 활동에 필요한 키트의 최소 개수를 구하여라.

입력

입력은 하나 이상의 테스트 케이스로 이루어지며, 마지막에는 입력의 끝을 나타내는 00 하나만 있는 줄이 온다. 각 테스트 케이스는 공백으로 구분된 55개 이상의 정수로 이루어진 한 줄이다. 첫 번째 정수 NN (3≤N≤123 \le N \le 12)은 키트에 든 색의 개수이다. 이어서 각 색에 필요한 양을 나타내는 NN개의 정수가 주어지며, 각 값은 00 이상 10001000 이하이다. 마지막 정수 GG (0≤G≤10000 \le G \le 1000)는 필요한 회색의 양이다. 모든 양의 단위는 ml이다.

출력

각 테스트 케이스마다, 필요한 모든 색과 회색을 마련하기에 충분한 키트의 최소 개수를 한 줄에 출력한다. 모든 회색은 똑같이 취급되므로, 최소 개수를 얻으려면 서로 다른 세 색의 여러 조합으로 회색을 만들어야 할 수도 있다.

예제1

  1. 예제 1

    입력
    3 40 95 21 0
    7 25 60 400 250 0 60 0 500
    4 90 95 75 95 10
    4 90 95 75 95 11
    5 0 0 0 0 0 333
    0
    
    예상 출력
    2
    8
    2
    3
    4