AT_2_stpc2025_2_b.Heavy Rotation

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有 NN 个编号为 1,2,…,N1,2,\ldots,N 的行李从左到右排成一列。最初,第 ii 个行李放在从左数第 ii 个位置。每个行李都有一个重量,第 ii 个行李的重量为 AiA_i。

你可以对这排行李进行如下操作,操作次数可以是 00 次或任意多次:

  1. 任选一组整数 (L,R)(L, R) 满足 1≤L<R≤N1 \leq L < R \leq N,且从左到右第 LL 至第 RR 个行李的重量和不少于 KK。
  2. 将从左到右第 LL 到第 RR 个行李做一次向左的循环移位。即,原本在第 LL 个位置的行李会移动到第 RR 个位置,原本在第 L+1,…,RL+1, \ldots, R 个位置的行李分别依次移到第 L,…,R−1L, \ldots, R-1 个位置。

请输出所有操作结束后可能得到的行李排列的数量,对 998244353998244353 取模。

输入格式

输入格式如下:

NN KK A1A_1 A2A_2 …\ldots ANA_N

输出格式

请输出答案。

输入输出样例

  • 输入#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,42, 3, 4 个行李重量之和为 2+2+3=7≥K=72+2+3=7 \geq K=7,因此可以将 (L,R)=(2,4)(L,R)=(2,4) 作为第一次操作。操作后,行李编号从左到右依次为 1,3,4,21,3,4,2。

所有操作结束后,可能得到的排列有 1212 种。

注意:即使行李重量相同,编号不同的行李也被视为不同的行李。在本例中,编号依次为 1,2,3,41,2,3,4 和 1,3,2,41,3,2,4 的排列被认为是两种不同的排列。

样例解释 2

有时可能一次操作都无法进行。

样例解释 3

请输出对 998244353998244353 取模的答案。

数据范围

  • 所有输入均为整数
  • 2≤N≤2×1052 \leq N \leq 2 \times 10^5
  • 1≤K≤10141 \leq K \leq 10^{14}
  • 1≤Ai≤1081 \leq A_i \leq 10^8

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页