Loading...
항구에 N대의 크레인이 있다. 각 크레인은 무게 제한이 있으며, 제한보다 무거운 컨테이너는 들 수 없다. 모든 크레인은 동시에 작동하며, 1분에 컨테이너 하나씩 배에 실을 수 있다. 각 크레인은 한 번에 하나의 컨테이너만 처리할 수 있다.
M개의 컨테이너를 모두 배에 싣는 데 걸리는 최소 시간을 구하라. 단, 모든 컨테이너를 실을 수 없는 경우 -1을 출력하라.
첫째 줄에 크레인의 수 N이 주어진다. (1 ≤ N ≤ 50)
둘째 줄에 각 크레인의 무게 제한이 공백으로 구분되어 주어진다.
셋째 줄에 컨테이너의 수 M이 주어진다. (1 ≤ M ≤ 10,000)
넷째 줄에 각 컨테이너의 무게가 공백으로 구분되어 주어진다.
모든 크레인의 무게 제한과 컨테이너의 무게는 1,000,000 이하의 자연수다.
모든 컨테이너를 싣는 최소 시간(분)을 출력한다. 불가능하면 -1을 출력한다.
입력 1
3
6 8 9
5
2 5 2 4 7
출력 1
2
입력 2
2
19 20
7
14 12 16 19 16 1 5
출력 2
4
입력 3
4
23 32 25 28
10
5 27 10 16 24 20 2 32 18 7
출력 3
3
입력 4
2
10 10
3
11 11 11
출력 4
-1