Description
两名玩家正在玩一个游戏。给定一个数组 a1,a2,…,an,以及一个数组 b1,b2,…,bm。
游戏共有 m 轮,两名玩家轮流进行操作。在第 i 轮(1≤i≤m)中,当前轮到的玩家(若 i 为奇数则是第一名玩家,若 i 为偶数则是第二名玩家)必须执行以下两种操作之一:
- 从数组 a 中移除所有能被 bi 整除的元素;
- 从数组 a 中移除所有不能被 bi 整除的元素。
第一名玩家的目标是最小化在 m 轮结束后数组 a 中剩余元素的和,而第二名玩家的目标是最大化这个和。若两名玩家都采取最优策略,请求出 m 轮结束后数组 a 中剩余元素的和。
第一行包含两个整数 n,m(1≤n≤2⋅104,1≤m≤2⋅105),分别表示数组 a 的长度和游戏的轮数。
第二行包含 n 个整数 a1,a2,…,an(−4⋅1014≤ai≤4⋅1014),表示数组 a 的元素。
第三行包含 m 个整数 b1,b2,…,bm(1≤bi≤4⋅1014),表示数组 b 的元素。
输出一个整数,表示在两名玩家都采取最优策略的情况下,m 轮操作结束后数组 a 中剩余元素的和。
6 2
2 2 5 2 2 7
2 5
7
5 1
-5000111000 -5000222000 -15 5 2
5
-10000333010
Hint
样例解释
在第一个样例中,游戏可能的最优流程如下:
- 第 1 轮:第一名玩家移除所有能被 2 整除的元素,a 变为 (5,7)。
- 第 2 轮:第二名玩家移除所有能被 5 整除的元素,a 变为 (7)。
如果他选择移除不能被 5 整除的元素,则 a 会变为 (5),其元素和更小,这对第二名玩家来说不是最优选择。
评分规则
- (3 分):m=1
- (6 分):bi+1=bi(1≤i<m),即数组 b 中所有元素相同
- (15 分):bi+1modbi=0(1≤i<m)
- (9 分):1≤m≤7
- (11 分):1≤m≤20
- (15 分):1≤m≤100
- (18 分):1≤ai,bi≤109
- (11 分):mmod2=0 且 b2i−1=b2i(1≤i≤2m)
- (12 分):无额外限制
翻译由 ChatGPT-5 完成