만드는 중입니다

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

숫자 게임

시간 제한1초메모리 제한1024 MB

요약
두 플레이어가 라운드마다 b_i로 나누어떨어지는 원소를 모두 지우거나 나누어떨어지지 않는 원소를 모두 지웁니다. 최적으로 둘 때 남는 원소의 합을 구합니다.
난이도

어려움10점 중 8점

유형
게임 이론, 정수론, 수학
정답자
아직 제출이 없습니다

문제

두 명의 플레이어가 게임을 한다. 배열 a1,a2,…,ana_1, a_2, \dots, a_n과 배열 b1,b2,…,bmb_1, b_2, \dots, b_m이 주어진다.

게임은 mm번의 라운드로 이루어진다. 플레이어는 번갈아 행동한다. ii번째 라운드(11부터 mm까지)에서는 ii가 홀수이면 첫 번째 플레이어가, 짝수이면 두 번째 플레이어가 행동한다. 그 플레이어는 다음 중 하나를 정확히 한 가지 수행한다.

  • aa에서 bib_i로 나누어떨어지는 원소를 모두 제거한다.
  • aa에서 bib_i로 나누어떨어지지 않는 원소를 모두 제거한다.

첫 번째 플레이어는 mm번의 라운드가 끝난 뒤 aa에 남는 원소의 합을 최소화하려 하고, 두 번째 플레이어는 최대화하려 한다. 두 플레이어가 최적으로 행동할 때, mm번의 라운드가 끝난 뒤 aa에 남는 원소의 합을 구하라.

입력

첫째 줄에 두 정수 nn, mm이 주어진다(1≤n≤2⋅1041 \le n \le 2 \cdot 10^4, 1≤m≤2⋅1051 \le m \le 2 \cdot 10^5). nn은 aa의 길이이고 mm은 라운드 수이다.

둘째 줄에 정수 nn개 a1,a2,…,ana_1, a_2, \dots, a_n이 주어진다(−4⋅1014≤ai≤4⋅1014-4 \cdot 10^{14} \le a_i \le 4 \cdot 10^{14}).

셋째 줄에 정수 mm개 b1,b2,…,bmb_1, b_2, \dots, b_m이 주어진다(1≤bi≤4⋅10141 \le b_i \le 4 \cdot 10^{14}).

출력

두 플레이어가 최적으로 행동할 때, mm번의 라운드가 끝난 뒤 aa에 남는 원소의 합을 정수 하나로 출력한다.

힌트

첫 번째 예제에서 게임이 진행될 수 있는 한 가지 경우는 다음과 같다.

  • 1라운드: 첫 번째 플레이어가 22로 나누어떨어지는 aa의 원소를 모두 제거한다. aa는 (5,7)(5, 7)이 된다.
  • 2라운드: 두 번째 플레이어가 55로 나누어떨어지는 aa의 원소를 모두 제거한다. aa는 (7)(7)이 된다. 만약 55로 나누어떨어지지 않는 원소를 모두 제거했다면 aa는 (5)(5)가 되는데, 합이 더 작아지므로 두 번째 플레이어는 그렇게 하지 않는다.

예제2

  1. 예제 1

    입력
    6 2
    2 2 5 2 2 7
    2 5
    
    예상 출력
    7
    
  2. 예제 2

    입력
    5 1
    -5000111000 -5000222000 -15 5 2
    5
    
    예상 출력
    -10000333010