内存限制:512 MiB
时间限制:3000 ms
标准输入输出
题目类型:VJudge(洛谷)
评测方式:VJudge
上传者:
匿名

给定 ,和两个长为 的序列 和 , 一些位置确定,一些不确定,每个位置有类型 。你要给不确定的 赋值,使得 。求对于所有 的赋值方式的以下游戏的权值和对 取模的结果。
-
游戏将进行 轮,第 轮开始时第 个人的血量 设置为 ,类型为 的二进制表示下第 位的值。 的取值从 开始。
-
每轮开始时,所有类型 的人开始同时往右走,类型 的人不动,每过 单位时间移动一格。
-
若一个类型 碰到类型 的点,设两人的编号为 ,,同时执行 , 的人将会消失。
-
这一轮的权值为过了 单位时间后所有存在的人的初始的 的乘积。(若最后所有人死亡,则权值为 )
-
游戏的权值为 轮的权值之和。
第一行两个正整数 。
第二行 个非负整数 ,其中 表示未确定的位置。
第三行 个正整数 表示每个人的初始权值。
样例输入 1
样例输出 1
样例输入 2
样例输出 2
样例输入 3
6 10
0 1 1 0 0 2
743619643 294476845 718152187 194051637 59774782 188785641
样例输出 3
【样例解释 1】
游戏将进行 轮:
-
第 轮时,两个人的类型分别为 ,都能活到最后,权值为 。
-
第 轮时,两个人的类型分别为 ,此时在经过 单位时间后两人相撞,生命值变为 ,只有第二个人活下来,权值为 。
-
第 轮时,两个人的类型分别为 ,都能活到最后,权值为 。
-
第 轮时,两个人的类型分别为 ,都能活到最后,权值为 。
所以总权值为 。
【数据范围】
本题使用子任务捆绑。
对于所有测试数据,,,,保证至少存在一组合法的 。
特殊性质:保证 。