화물선 적재

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

보통5그리디정렬투 포인터아직 제출이 없습니다시간 제한2초메모리 제한128 MB

문제

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

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

입력

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

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

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

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

출력

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