#P16808. [蓝桥杯 2026 国 Python A] 连续丢卡

    ID: 17066 Type: RemoteJudge 3000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>数学二分2026蓝桥杯国赛

[蓝桥杯 2026 国 Python A] 连续丢卡

题目描述

小蓝原本拥有一套卡片,卡片上写的数字分别为 1,2,…,n1, 2, \ldots, n,每个数字恰好一张。

后来,小蓝发现这套卡片中丢失了连续的 LL 张。也就是说,存在一个正整数 aa,使得写有数字 a,a+1,…,a+L−1a, a+1, \ldots, a+L-1 的卡片全部丢失,其中 a+L−1≤na+L-1 \le n。

丢失发生后,小蓝将剩下所有卡片上的数字相加,得到的总和为 SS。

现在,给定剩下卡片的数字之和 SS 以及丢失的卡片张数 LL,请你计算所有可能的原卡片总数 nn 的总和。如果不存在任何符合条件的 nn,则答案为 00。同一个合法的 nn 即使对应多种丢失情况,也只统计一次。

由于答案可能很大,你只需要给出满足条件的 nn 的总和对 998244353998244353 取模后的结果即可。

输入格式

第一行包含一个正整数 TT,表示询问的组数。

接下来 TT 行,每行包含两个正整数 SS 和 LL,中间用一个空格隔开。

输出格式

输出共 TT 行,每行包含一个整数,表示对应询问中所有可能 nn 的总和对 998244353998244353 取模后的结果。

4
10 2
15670 27
20 3
35 1
11
579
0
8

提示

【样例说明】

对于第一组询问,S=10,L=2S = 10, L = 2。

  • 当 n=5n = 5 时,可以丢失编号为 2,32, 3 的两张卡片,剩余卡片编号之和为 1010;
  • 当 n=6n = 6 时,可以丢失编号为 5,65, 6 的两张卡片,剩余卡片编号之和为 1010。

因此可能的 nn 为 55 和 66,答案为 5+6=115 + 6 = 11。

【评测用例规模与约定】

对于 30%30\% 的评测用例,1≤T≤51 \le T \le 5, 1≤S≤1061 \le S \le 10^6, 1≤L≤201 \le L \le 20;

对于所有评测用例,1≤T≤1051 \le T \le 10^5, 1≤S≤10181 \le S \le 10^{18}, 1≤L≤1001 \le L \le 100。