#J1009. 随机???
随机???
题目描述
给你一个长度为 的整数序列 ,若某一个下标 的值 ,则你需要将这个位置的值改变为 之间的任意一个整数,若某一个位置的值不为 ,则你不能将它改变。
现在问你,有多少种改变方案,使得把所有初始值为 的位置的值改变完毕后序列所有数值之和为偶数?输出答案对 取模的结果。
输入格式
第一行两个整数 。
第二行 个整数 。
输出格式
一行一个整数,表示答案。
输入输出样例 #1
输入 #1
3 3
1 2 -1
输出 #1
2
给你一个长度为 n 的整数序列 a1∼an,若某一个下标 i 的值 ai=−1,则你需要将这个位置的值改变为 0∼m 之间的任意一个整数,若某一个位置的值不为 −1,则你不能将它改变。
现在问你,有多少种改变方案,使得把所有初始值为 −1 的位置的值改变完毕后序列所有数值之和为偶数?输出答案对 109+7 取模的结果。
第一行两个整数 n,m(1≤n≤106,0≤m≤109)。
第二行 n 个整数 a1∼an(−1≤ai≤m)。
一行一个整数,表示答案。
3 3
1 2 -1
2