배
n개의 크레인이 담을 수 있는 최대 무게,
m개의 박스의 무게가 주어진다.최소 시간으로 박스를 옮기려면
가능한 한번에 많은 크레인이 동시에 움직여야 한다.
흠...
1.박스가 모두 옮겨질 때 까지
2.크레인이 옮길 수 있는 가장 무거운 박스를 옮김
3.모든 크레인을 확인했다면 result+1
하게 3중 for문을 사용해서 풀었더니 시간초과가 났다.흠...
박스를 옮겼는지 체크하고 이미 옮긴 박스의 위치를 표시하여
불필요한 비교를 줄여서 풀었더니 통과했다.
야호
n = int(input()) crane = sorted(list(map(int, input().split())), reverse=True) m = int(input()) box = sorted(list(map(int, input().split())), reverse=True) result = 0 count = 0 positions = [0] * n checked = [0] * m if box[0] > crane[0]: print(-1) else: while count < len(box): for i in range(n): while positions[i] < len(box): if not checked[positions[i]] and crane[i] >= box[positions[i]]: checked[positions[i]] = True positions[i] += 1 count += 1 break positions[i] += 1 result += 1 print(result)