#CF1474F. 1 2 3 4 ...
1 2 3 4 ...
1 2 3 4 ...
-
时间限制:5 秒
-
内存限制:256 MiB
题目描述
Igor 有一个整数序列 。当 Igor 进入教室时,黑板上写着一个整数 。
Igor 按照如下过程生成序列 :
- 初始时,;
- 对于每个 ,执行 次操作:
- 若 ,设当前 的最后一个元素为 ,在 末尾加入 ;
- 若 ,设当前 的最后一个元素为 ,在 末尾加入 。
例如,当 且 时,生成的序列为 。
请计算 的最长严格递增子序列长度,以及这样的子序列个数。
如果序列 可以通过从序列 中删除若干元素得到,则称 是 的一个子序列。删除的元素个数可以为零,也可以等于 的长度。
如果序列 中每个元素(除第一个外)都严格大于前一个元素,则称 是严格递增序列。
对于 ,最长严格递增子序列长度为 ,共有 个。子序列按所选下标区分。
输入格式
第一行包含一个整数 。
第二行包含一个整数 。
第三行包含 个整数 。
输出格式
输出两个整数,分别表示 的最长严格递增子序列长度,以及这样的子序列个数对 取模后的结果。
只需要对第二个数取模。
样例输入 1
3
3
1 -1 2
样例输出 1
3 3
样例输入 2
3
100
5 -3 6
样例输出 2
9 7
样例输入 3
3
1
999999999 0 1000000000
样例输出 3
2000000000 1
样例输入 4
5
34
1337 -146 42 -69 228
样例输出 4
1393 3876
数据范围
对于全部数据,,,。
令 。
| 子任务编号 | 分值 | 特殊限制 |
|---|---|---|
| 1 | 10 | |
| 2 | 20 | |
| 3 | 30 | |
| 4 | 40 | 无特殊限制 |
提示
第一个样例已经在题目描述中说明。
第二个样例中,$p=[100,101,102,103,104,105,104,103,102,103,104,105,106,107,108]$。
第三个样例中,。