A102290.雾港学宫的能量链

普及/提高-

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

雾港学宫在调试一条由 nn 个“符号元件”组成的能量链。第 ii 个元件的数值为 aia_i(可能为正、负或 00)。你可以从中选出一个非空子序列来组成一段实验序列 b1,b2,,bLb_1,b_2,\dots,b_L(保持相对顺序,即存在下标

1i1<i2<<iLn,bj=aij.1\le i_1<i_2<\cdots<i_L\le n,\quad b_j=a_{i_j}.

对选出的序列,定义前缀乘积:

Pk=b1b2bk(1kL).P_k=b_1\cdot b_2\cdots b_k\quad(1\le k\le L).

我们只关心每个 PkP_k符号,定义

sgn(x)={+,x>0,,x<0,0,x=0.\operatorname{sgn}(x)= \begin{cases} +,& x>0,\\ -,& x<0,\\ 0,& x=0. \end{cases}

Sk=sgn(Pk).S_k=\operatorname{sgn}(P_k).

定义该子序列的“符号变化次数”为

C={k2kL, SkSk1}.C=\left|\{\,k\mid 2\le k\le L,\ S_k\ne S_{k-1}\,\}\right|.

你的目标是:

  1. 在所有非空子序列中,使 CC 尽可能小,记最小值为 CminC_{\min}
  2. 统计有多少个不同的非空子序列能达到 CminC_{\min},将该数量对 MM 取模。

请输出 CminC_{\min} 和方案数(模 MM)。

输入格式

第一行两个整数 n,Mn,M
第二行 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n

输出格式

输出一行两个整数:CminC_{\min} 与达到 CminC_{\min} 的子序列个数 modM\bmod M

输入输出样例

  • 输入#1

    5 1000000007
    2 -3 0 -5 4

    输出#1

    0 11

说明/提示

数据范围与测试点

  • 1n2000001\le n\le200000
  • 1M10000000071\le M\le1000000007
  • ai109|a_i|\le10^9
测试点编号 nn 上界
141\sim4 n20n\le20
5105\sim10 n10000n\le10000
112011\sim20 n200000n\le200000
首页