숫자 게임
시간 제한1초메모리 제한1024 MB
두 플레이어가 라운드마다 b_i로 나누어떨어지는 원소를 모두 지우거나 나누어떨어지지 않는 원소를 모두 지웁니다. 최적으로 둘 때 남는 원소의 합을 구합니다.
문제
두 명의 플레이어가 게임을 한다. 배열 과 배열 이 주어진다.
게임은 번의 라운드로 이루어진다. 플레이어는 번갈아 행동한다. 번째 라운드(부터 까지)에서는 가 홀수이면 첫 번째 플레이어가, 짝수이면 두 번째 플레이어가 행동한다. 그 플레이어는 다음 중 하나를 정확히 한 가지 수행한다.
- 에서 로 나누어떨어지는 원소를 모두 제거한다.
- 에서 로 나누어떨어지지 않는 원소를 모두 제거한다.
첫 번째 플레이어는 번의 라운드가 끝난 뒤 에 남는 원소의 합을 최소화하려 하고, 두 번째 플레이어는 최대화하려 한다. 두 플레이어가 최적으로 행동할 때, 번의 라운드가 끝난 뒤 에 남는 원소의 합을 구하라.
입력
첫째 줄에 두 정수 , 이 주어진다(, ). 은 의 길이이고 은 라운드 수이다.
둘째 줄에 정수 개 이 주어진다().
셋째 줄에 정수 개 이 주어진다().
출력
두 플레이어가 최적으로 행동할 때, 번의 라운드가 끝난 뒤 에 남는 원소의 합을 정수 하나로 출력한다.
힌트
첫 번째 예제에서 게임이 진행될 수 있는 한 가지 경우는 다음과 같다.
- 1라운드: 첫 번째 플레이어가 로 나누어떨어지는 의 원소를 모두 제거한다. 는 이 된다.
- 2라운드: 두 번째 플레이어가 로 나누어떨어지는 의 원소를 모두 제거한다. 는 이 된다. 만약 로 나누어떨어지지 않는 원소를 모두 제거했다면 는 가 되는데, 합이 더 작아지므로 두 번째 플레이어는 그렇게 하지 않는다.