파이프 자르기

면접 대비

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

요약
긴 파이프 M개와 필요한 짧은 파이프 길이 N개가 주어질 때, 최대 몇 개의 짧은 파이프를 잘라낼 수 있는지 구합니다.
난이도

보통10점 중 5점

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

문제

한 건설 회사는 새 건물을 짓기 위해 짧은 강철 파이프 N개가 필요하다. 회사에는 이전 공사에서 남은 긴 강철 파이프 M개가 있으며, 이 파이프들을 먼저 잘라 사용한 뒤 부족한 만큼만 추가로 주문하려고 한다.

긴 파이프 하나는 여러 번 잘라 여러 개의 짧은 파이프로 만들 수 있다. 자르는 과정에서 생기는 길이 손실은 없다고 가정한다. 주어진 긴 파이프들을 잘라 만들 수 있는 필요한 파이프의 최대 개수를 구하라.

입력

첫째 줄에 긴 강철 파이프의 개수 M이 주어진다. (1 <= M <= 50)

둘째 줄에는 긴 강철 파이프 M개의 길이가 주어진다. 각 길이는 100,000 이하의 양의 정수이다.

셋째 줄에 필요한 짧은 파이프의 개수 N이 주어진다. (1 <= N <= 1023)

넷째 줄에는 만들고자 하는 파이프의 길이를 나타내는 정수 N개가 주어진다. 각 길이는 128 이하의 자연수이다.

출력

첫째 줄에 만들 수 있는 필요한 파이프의 최대 개수를 출력한다.

예제1

  1. 예제 1

    입력
    4
    30 40 50 25
    10
    15 16 17 18 19 20 21 25 24 30
    
    예상 출력
    7