아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

저울추

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

요약
용기의 용량들과, 질량이 서로 배수 관계인 추들이 주어질 때 넣을 수 있는 추의 최대 개수를 구한다.
난이도

보통10점 중 7점

유형
그리디, 정렬, 수학, 누적 합
정답자
아직 제출이 없습니다

문제

바이트지방 실험물리학 연구소가 새 건물로 이사하면서, 정밀 저울추 컬렉션을 옮기는 일이 만만치 않은 문제가 되었다.

연구소에는 여러 개의 컨테이너가 있고, 각 컨테이너에는 담을 수 있는 최대 총 무게(강도)가 정해져 있다. 가능한 한 많은 저울추를 컨테이너에 담고, 담지 못한 저울추는 버린다. 한 컨테이너에는 저울추를 몇 개든 담을 수 있지만, 담긴 저울추들의 총 무게가 그 컨테이너의 강도를 넘어서는 안 된다. 컨테이너를 비워 두어도 된다.

저울추에는 특별한 성질이 있다. 임의의 두 저울추에 대해, 한쪽의 무게는 다른 쪽 무게의 정수 배이다(두 저울추의 무게가 같은 경우도 포함한다).

컨테이너들의 강도와 저울추들의 무게가 주어질 때, 컨테이너에 담을 수 있는 저울추의 최대 개수를 구하여라.

입력

첫째 줄에 두 정수 nn과 mm (1≤n,m≤100 0001 \le n, m \le 100\,000)이 주어진다. 각각 컨테이너의 수와 저울추의 수이다.

둘째 줄에 nn개의 정수 w1,w2,…,wnw_1, w_2, \ldots, w_n (1≤wi≤100 000 0001 \le w_i \le 100\,000\,000)이 주어진다. 각 컨테이너의 강도이며, 단위는 밀리그램이다.

셋째 줄에 mm개의 정수 a1,a2,…,ama_1, a_2, \ldots, a_m (1≤aj≤1 000 000 0001 \le a_j \le 1\,000\,000\,000)이 주어진다. 각 저울추의 무게이며, 단위는 밀리그램이다. 임의의 두 저울추에 대해 한쪽 무게는 다른 쪽 무게의 정수 배이다.

출력

어떤 컨테이너의 강도도 넘기지 않으면서 담을 수 있는 저울추의 최대 개수를 정수 하나로 출력한다.

예제1

  1. 예제 1

    입력
    2 4
    13 9
    4 12 2 4
    
    예상 출력
    3