题目背景
PA 2025 R5A.
题目描述
对于序列 a=[a1,a2,…,ak],我们说:
- a 是递增的,当且仅当 a1<a2<…<ak;
- a 是递减的,当且仅当 a1>a2>…>ak;
- a 是单峰的,当且仅当存在 1≤l≤k,使得 [a1,a2,…,al] 是递增的,且 [al,al+1,…,ak] 是递减的。
特别地,若 k=1,则 a 既是递增的,也是递减的,也是单峰的。
对于正整数 a,b,c,我们说一个排列 p 是好的,当且仅当:
- p 的最长上升子序列(LIS)长度为 a;
- p 的最长下降子序列(LDS)长度为 b;
- p 的最长单峰子序列长度为 c。
例
a=2,b=3,c=4 时,排列 [4,5,2,3,1] 是好的,因为:
- LIS 为 [4,5](长度 2);
- LDS为 [4,2,1](长度 3);
- 最长单峰子序列为 [4,5,3,1](长度 4)。
给定 a,b,c 满足 1≤a≤b≤c<a+b。求出:
- 好的排列 p 的长度的最大值(记为 n);
- 长度为 n 的好的排列的数量对大素数 mod 取模后的结果。
可以证明,在题目条件下,好的排列至少有一个,且只有有限个。
输入格式
一行四个正整数 a,b,c,mod。
输出格式
一行两个正整数:
- 最长的好的排列的长度 n;
- 长度为 n 的好的排列的数量对 mod 取模后的结果。
2 2 3 10000019
4 4
2 3 3 999999937
5 10
8 9 11 15872567
57 57
提示
样例解释
样例 1 中,a=2,b=2,c=3。
所有好的排列为:
- [1,3,2];
- [2,3,1];
- [2,1,4,3];
- [2,4,1,3];
- [3,1,4,2];
- [3,4,1,2]。
其中最长的排列长度为 4。
样例 2 中,a=2,b=3,c=3。
所有好的排列为:
- [3,2,1,5,4];
- [3,2,5,1,4];
- [4,2,1,5,3];
- [4,2,5,1,3];
- [4,3,1,5,2];
- [4,3,5,1,2];
- [5,2,1,4,3];
- [5,2,4,1,3];
- [5,3,1,4,2];
- [5,3,4,1,2]。
子任务
在大于 0 分的子任务中,保证 c=a+b−1。
数据范围
- 1≤a≤20;
- a≤b≤5×104;
- b≤c<a+b;
- 107≤mod≤109;
- mod 是素数。