만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

화물선 적재

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

요약
크레인의 무게 제한과 상자의 무게가 주어질 때, 크레인마다 1분에 상자 하나씩 옮긴다고 할 때 모든 상자를 옮기는 최소 시간을 구하고, 불가능하면 -1을 출력한다.
난이도

보통10점 중 5점

유형
그리디, 정렬, 투 포인터
정답자
아직 제출이 없습니다

문제

지민이는 항구에서 일하며 여러 개의 박스를 화물선에 실어야 합니다. 항구에는 N대의 크레인이 있고, 각 크레인은 1분에 박스 하나를 실을 수 있습니다. 모든 크레인은 동시에 움직일 수 있습니다.

각 크레인에는 무게 제한이 있습니다. 제한보다 무거운 박스는 그 크레인으로 옮길 수 없습니다. 모든 박스를 배에 싣는 데 필요한 최소 시간을 구하세요.

입력

첫째 줄에 크레인의 수 N이 주어집니다. N은 50 이하의 자연수입니다.

둘째 줄에는 N대 크레인의 무게 제한이 주어집니다. 각 값은 1,000,000 이하의 자연수입니다.

셋째 줄에는 박스의 수 M이 주어집니다. M은 10,000 이하의 자연수입니다.

넷째 줄에는 M개 박스의 무게가 주어집니다. 각 값은 1,000,000 이하의 자연수입니다.

출력

모든 박스를 배에 싣는 데 필요한 최소 시간을 분 단위로 출력합니다. 모든 박스를 옮길 수 없다면 -1을 출력합니다.

예제4

  1. 예제 1

    입력
    3
    6 8 9
    5
    2 5 2 4 7
    
    예상 출력
    2
    
  2. 예제 2

    입력
    2
    19 20
    7
    14 12 16 19 16 1 5
    
    예상 출력
    4
    
  3. 예제 3

    입력
    4
    23 32 25 28
    10
    5 27 10 16 24 20 2 32 18 7
    
    예상 출력
    3
    
  4. 예제 4

    입력
    10
    11 17 5 2 20 7 5 5 20 7
    5
    18 18 15 15 17
    
    예상 출력
    2