A102290.雾港学宫的能量链
普及/提高-
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
雾港学宫在调试一条由 n 个“符号元件”组成的能量链。第 i 个元件的数值为 ai(可能为正、负或 0)。你可以从中选出一个非空子序列来组成一段实验序列 b1,b2,…,bL(保持相对顺序,即存在下标
1≤i1<i2<⋯<iL≤n,bj=aij.
对选出的序列,定义前缀乘积:
Pk=b1⋅b2⋯bk(1≤k≤L).
我们只关心每个 Pk 的符号,定义
sgn(x)=⎩⎨⎧+,−,0,x>0,x<0,x=0.
令
Sk=sgn(Pk).
定义该子序列的“符号变化次数”为
C=∣{k∣2≤k≤L, Sk=Sk−1}∣.
你的目标是:
- 在所有非空子序列中,使 C 尽可能小,记最小值为 Cmin;
- 统计有多少个不同的非空子序列能达到 Cmin,将该数量对 M 取模。
请输出 Cmin 和方案数(模 M)。
输入格式
第一行两个整数 n,M。
第二行 n 个整数 a1,a2,…,an。
输出格式
输出一行两个整数:Cmin 与达到 Cmin 的子序列个数 modM。
输入输出样例
输入#1
5 1000000007 2 -3 0 -5 4
输出#1
0 11
说明/提示
数据范围与测试点
- 1≤n≤200000
- 1≤M≤1000000007
- ∣ai∣≤109
| 测试点编号 | n 上界 |
|---|---|
| 1∼4 | n≤20 |
| 5∼10 | n≤10000 |
| 11∼20 | n≤200000 |