#aBC255H. [ABC255Ex] Range Harvest Query

[ABC255Ex] Range Harvest Query

AT_abc255_h [ABC255Ex] Range Harvest Query

题目描述

NN 棵树。第 00 天时,每棵树上都没有果实。
从第 11 天早晨开始,对于每一天的早晨,对于每一棵 i=1,2,,Ni=1,2,\ldots,N 的树,第 ii 棵树会多长出 ii 个果实。

高桥君会进行 QQ 次收获操作。对于每一次 i=1,2,,Qi=1,2,\ldots,Q,第 ii 次收获操作会在第 DiD_i 天的晚上进行,此时他会收获第 LiL_i 棵到第 RiR_i 棵树上的所有果实。

请对于每一次收获操作,输出高桥君收获的果实数量对 998244353998244353 取模的结果。

输入格式

输入以如下格式从标准输入给出。

NN QQ D1D_1 L1L_1 R1R_1 D2D_2 L2L_2 R2R_2 \vdots DQD_Q LQL_Q RQR_Q

输出格式

输出 QQ 行。对于每一次 i=1,2,,Qi=1,2,\ldots,Q 的收获操作,第 ii 行输出高桥君在第 ii 次收获操作中收获的果实数量对 998244353998244353 取模的结果。

输入输出样例 #1

输入 #1

5 3
2 2 3
3 3 4
5 1 5

输出 #1

10
15
50

输入输出样例 #2

输入 #2

711741968710511029 1
82803157126515475 516874290286751784 588060532191410838

输出 #2

603657470

说明/提示

限制条件

  • 1N10181 \leq N \leq 10^{18}
  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • 1D1<D2<<DQ10181 \leq D_1 < D_2 < \cdots < D_Q \leq 10^{18}
  • 1LiRiN1 \leq L_i \leq R_i \leq N
  • 输入均为整数

样例解释 1

对于 i=1,2,3,4,5i=1,2,3,4,5,设第 ii 棵树上的果实数量为 AiA_i,用数列 A=(A1,A2,A3,A4,A5)A=(A_1,A_2,A_3,A_4,A_5) 表示每棵树上的果实数量。

  • 00 天,A=(0,0,0,0,0)A=(0,0,0,0,0)
  • 11 天早晨,每棵树新长出果实,A=(1,2,3,4,5)A=(1,2,3,4,5)
  • 22 天早晨,每棵树新长出果实,A=(2,4,6,8,10)A=(2,4,6,8,10)
  • 22 天晚上,高桥君进行第 11 次收获。收获 4+6=104+6=10 个果实,A=(2,0,0,8,10)A=(2,0,0,8,10)
  • 33 天早晨,每棵树新长出果实,A=(3,2,3,12,15)A=(3,2,3,12,15)
  • 33 天晚上,高桥君进行第 22 次收获。收获 3+12=153+12=15 个果实,A=(3,2,0,0,15)A=(3,2,0,0,15)
  • 44 天早晨,每棵树新长出果实,A=(4,4,3,4,20)A=(4,4,3,4,20)
  • 55 天早晨,每棵树新长出果实,A=(5,6,6,8,25)A=(5,6,6,8,25)
  • 55 天晚上,高桥君进行第 33 次收获。收获 5+6+6+8+25=505+6+6+8+25=50 个果实,A=(0,0,0,0,0)A=(0,0,0,0,0)

样例解释 2

请注意要对 998244353998244353 取模输出。

由 ChatGPT 4.1 翻译