만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

엘프의 효율

시간 제한5초메모리 제한512 MB

요약
동물마다 돌의 수는 늘어나기만 하며, 호출된 수마다 돌의 수가 그 수로 나누어떨어지지 않도록 할 때 추가해야 하는 돌의 최소 합을 구합니다.
난이도

보통10점 중 7점

유형
그리디, 정수론, 해시맵
정답자
아직 제출이 없습니다

문제

프로그래밍 문제에 자주 나오는 생물들처럼, 숲속 동물들도 돌을 가지고 하는 게임을 좋아한다. 최근 동물들은 어린 동물들에게 나눗셈의 성질을 가르치려고 새 게임을 만들었다. 이 게임에서 각 동물은 돌 더미를 하나씩 가지고 시작한다. 게임이 시작되면 수들이 차례로 불린다. 불린 수마다, 돌의 개수가 그 수로 나누어떨어지는 동물은 1점을 얻는다. 게임이 끝났을 때 점수가 가장 많은 동물이 이긴다.

숲의 엘프 엠마는 동물들이 이 게임을 여러 번 하는 것을 지켜봤다. 이긴 동물이 얻은 점수를 자랑하는 모습에 지친 그녀는, 다음 게임에 끼어들어 어떤 동물도 점수를 얻지 못하게 하려고 한다. 그녀는 근처 나무 위에서 기다리며 각 동물이 가진 돌의 개수를 센다. 매 라운드마다 어떤 동물이 곧 점수를 얻게 되면, 엠마는 그 동물의 더미에 돌을 하나 던져 돌의 개수를 1 늘릴 수 있다. 던진 돌은 게임이 끝날 때까지 그 더미에 남는다. 같은 더미에 돌을 여러 번 던져야 할 수도 있다. 돌은 무거워서, 엠마는 은신처 나무 꼭대기까지 가져갈 돌을 최대한 적게 쓰고 싶어 한다. 각 동물이 처음에 가진 돌의 개수와 mm 번의 라운드에서 불리는 수는 이미 알려져 있다. 어떤 동물도 점수를 얻지 못하도록 엠마가 던져야 하는 돌의 최소 총개수를 구하라.

입력

첫 줄에 공백으로 구분된 두 정수 nn과 mm이 주어진다 (1≤n,m≤1051 \le n, m \le 10^5). 여기서 nn은 동물의 수, mm은 라운드의 수이다.

다음 nn개의 줄에는 각각 정수 aa 하나가 주어진다 (1≤a≤3⋅1051 \le a \le 3 \cdot 10^5). 이는 각 동물이 가진 돌의 개수이다.

그다음 mm개의 줄에는 각각 정수 kk 하나가 주어진다 (2≤k≤3⋅1052 \le k \le 3 \cdot 10^5). 이는 순서대로 불리는 수이다.

출력

어떤 동물도 점수를 얻지 못하게 하기 위해 엠마가 사용해야 하는 돌의 최소 개수를 나타내는 정수 하나를 출력한다.

예제1

  1. 예제 1

    입력
    3 5
    10
    11
    12
    2
    11
    4
    13
    2
    
    예상 출력
    12