AT_2_stpc2025_2_b.Heavy Rotation
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有 N 个编号为 1,2,…,N 的行李从左到右排成一列。最初,第 i 个行李放在从左数第 i 个位置。每个行李都有一个重量,第 i 个行李的重量为 Ai。
你可以对这排行李进行如下操作,操作次数可以是 0 次或任意多次:
- 任选一组整数 (L,R) 满足 1≤L<R≤N,且从左到右第 L 至第 R 个行李的重量和不少于 K。
- 将从左到右第 L 到第 R 个行李做一次向左的循环移位。即,原本在第 L 个位置的行李会移动到第 R 个位置,原本在第 L+1,…,R 个位置的行李分别依次移到第 L,…,R−1 个位置。
请输出所有操作结束后可能得到的行李排列的数量,对 998244353 取模。
输入格式
输入格式如下:
N K A1 A2 … AN
输出格式
请输出答案。
输入输出样例
输入#1
4 7 1 2 2 3
输出#1
12
输入#2
2 100 1 1
输出#2
1
输入#3
20 1 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
输出#3
401576539
说明/提示
样例解释 1
最初,从左到右第 2,3,4 个行李重量之和为 2+2+3=7≥K=7,因此可以将 (L,R)=(2,4) 作为第一次操作。操作后,行李编号从左到右依次为 1,3,4,2。
所有操作结束后,可能得到的排列有 12 种。
注意:即使行李重量相同,编号不同的行李也被视为不同的行李。在本例中,编号依次为 1,2,3,4 和 1,3,2,4 的排列被认为是两种不同的排列。
样例解释 2
有时可能一次操作都无法进行。
样例解释 3
请输出对 998244353 取模的答案。
数据范围
- 所有输入均为整数
- 2≤N≤2×105
- 1≤K≤1014
- 1≤Ai≤108
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?