CF1474F.1 2 3 4 ...
NOI/NOI+/CTSC
通过率:0%
时间限制:5.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Igor had a sequence d1,d2,…,dn of integers. When Igor entered the classroom there was an integer x written on the blackboard.
Igor generated sequence p using the following algorithm:
- initially, p=[x];
- for each 1≤i≤n he did the following operation ∣di∣ times:
- if di≥0, then he looked at the last element of p (let it be y) and appended y+1 to the end of p;
- if di<0, then he looked at the last element of p (let it be y) and appended y−1 to the end of p.
For example, if x=3, and d=[1,−1,2], p will be equal [3,4,3,4,5].
Igor decided to calculate the length of the longest increasing subsequence of p and the number of them.
A sequence a is a subsequence of a sequence b if a can be obtained from b by deletion of several (possibly, zero or all) elements.
A sequence a is an increasing sequence if each element of a (except the first one) is strictly greater than the previous element.
For p=[3,4,3,4,5], the length of longest increasing subsequence is 3 and there are 3 of them: [3,4,3,4,5], [3,4,3,4,5], [3,4,3,4,5].
伊戈尔有一个整数序列 d1,d2,…,dn。当他进入教室时,黑板上已写有一个整数 x。
伊戈尔使用如下算法生成序列 p:
- 初始时,p=[x];
- 对每个 1≤i≤n,他执行以下操作 ∣di∣ 次:
- 若 di≥0,则查看 p 的最后一个元素(记为 y),并将 y+1 追加到 p 末尾;
- 若 di<0,则查看 p 的最后一个元素(记为 y),并将 y−1 追加到 p 末尾。
例如,若 x=3,且 d=[1,−1,2],则 p=[3,4,3,4,5]。
伊戈尔决定计算 p 的最长递增子序列的长度及其个数。
序列 a 是序列 b 的一个子序列,当且仅当 a 可通过从 b 中删除若干(可能为零个或全部)元素得到。
序列 a 是一个递增序列,当且仅当其每个元素(除第一个外)均严格大于前一个元素。
对于 p=[3,4,3,4,5],最长递增子序列的长度为 3,且共有 3 个:[3,4,3,4,5]、[3,4,3,4,5]、[3,4,3,4,5]。
输入格式
The first line contains a single integer n (1≤n≤50) — the length of the sequence d.
The second line contains a single integer x (−109≤x≤109) — the integer on the blackboard.
The third line contains n integers d1,d2,…,dn (−109≤di≤109).
第一行包含一个整数 n(1≤n≤50)——序列 d 的长度。
第二行包含一个整数 x(−109≤x≤109)——黑板上的整数。
第三行包含 n 个整数 d1,d2,…,dn(−109≤di≤109)。
输出格式
Print two integers:
- the first integer should be equal to the length of the longest increasing subsequence of p;
- the second should be equal to the number of them modulo 998244353.
You should print only the second number modulo 998244353.
输出两个整数:
- 第一个整数应等于排列 p 的最长递增子序列的长度;
- 第二个整数应等于最长递增子序列的个数对 998244353 取模的结果。
你只需输出第二个数对 998244353 取模的结果。
输入输出样例
输入#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
说明/提示
The first test case was explained in the statement.
In the second test case p=[100,101,102,103,104,105,104,103,102,103,104,105,106,107,108].
In the third test case p=[1,2,…,2000000000].
第一个测试用例已在题目描述中说明。
第二个测试用例中,p=[100,101,102,103,104,105,104,103,102,103,104,105,106,107,108]。
第三个测试用例中,p=[1,2,…,2000000000]。
输入解题思路,AI测评打分。不知道怎么写?