#aBC258E. [ABC258E] Packing Potatoes

[ABC258E] Packing Potatoes

AT_abc258_e [ABC258E] Packing Potatoes

题目描述

1010010^{100} 个土豆依次在传送带上流过,每次流过一个。每个土豆的重量由长度为 NN 的数列 W=(W0,,WN1)W = (W_0, \dots, W_{N-1}) 给出,第 i (1i10100)i\ (1 \leq i \leq 10^{100}) 个流过的土豆的重量为 W(i1)modNW_{(i-1) \bmod N}。这里,(i1)modN(i-1) \bmod N 表示 i1i-1 除以 NN 的余数。

高桥君首先准备一个空箱子,并按照以下规则依次将土豆装入箱中:

  • 将土豆放入箱子中。如果箱中土豆的总重量达到或超过 XX,则给该箱盖上盖子,并重新准备一个空箱子。

给定 QQ 个询问。对于第 i (1iQ)i\ (1 \leq i \leq Q) 个询问,给出正整数 KiK_i,请你求出第 KiK_i 个被盖上盖子的箱子中装有多少个土豆。可以证明,在本题的约束下,被盖上盖子的箱子至少有 KiK_i 个。

输入格式

输入以如下格式从标准输入读入。

NN QQ XX W0W_0 W1W_1 \ldots WN1W_{N-1}
K1K_1
\vdots
KQK_Q

输出格式

输出 QQ 行。第 i (1iQ)i\ (1 \leq i \leq Q) 行输出第 ii 个询问的答案。

输入输出样例 #1

输入 #1

3 2 5
3 4 1
1
2

输出 #1

2
3

输入输出样例 #2

输入 #2

10 5 20
5 8 5 9 8 7 4 4 8 2
1
1000
1000000
1000000000
1000000000000

输出 #2

4
5
5
5
5

说明/提示

约束

  • 1N,Q2×1051 \leq N, Q \leq 2 \times 10^5
  • 1X1091 \leq X \leq 10^9
  • 1Wi109 (0iN1)1 \leq W_i \leq 10^9\ (0 \leq i \leq N-1)
  • 1Ki1012 (1iQ)1 \leq K_i \leq 10^{12}\ (1 \leq i \leq Q)
  • 所有输入均为整数

样例解释 1

高桥君在盖上第 22 个箱子之前的操作如下:

  • 准备一个空箱子。
  • 将第 11 个土豆放入箱子,箱中土豆总重量为 33
  • 将第 22 个土豆放入箱子,箱中土豆总重量为 3+4=73 + 4 = 7,达到 X=5X = 5,因此给箱子盖上盖子。
  • 准备一个新的空箱子。
  • 将第 33 个土豆放入箱子,箱中土豆总重量为 11
  • 将第 44 个土豆放入箱子,箱中土豆总重量为 1+3=41 + 3 = 4
  • 将第 55 个土豆放入箱子,箱中土豆总重量为 1+3+4=81 + 3 + 4 = 8,达到 X=5X = 5,因此给箱子盖上盖子。

11 个被盖上的箱子里有 22 个土豆,第 22 个被盖上的箱子里有 33 个土豆。

由 ChatGPT 4.1 翻译