#AT1871. C - Distribution

C - Distribution

C - 分配

得分:300

问题描述

有 $N$ 个生物站在一个圆圈上,称为Snuke $1, 2, ..., N$,按逆时针顺序排列。

当Snuke $i$ ($1 \leq i \leq N$)在时间 $t$ 收到一个宝石时,$S_i$ 单位后,它会在时间 $t+S_i$ 将宝石交给Snuke $i+1$。 这里,Snuke $N+1$是Snuke $1$。

此外,Takahashi将在时间 $T_i$ 将一个宝石交给Snuke $i$。

对于每个 $i$ ($1 \leq i \leq N$),找到Snuke $i$ 第一次收到宝石的时间。假设交接宝石需要很少的时间。

约束条件

  • $1 \leq N \leq 200000$
  • $1 \leq S_i,T_i \leq 10^9$
  • 输入数据中所有的值均为整数。

输入

输入从标准输入中按以下格式给出:

NN

S1S_1 S2S_2 \ldots SNS_N

T1T_1 T2T_2 \ldots TNT_N

输出

打印 $N$ 行。第 $i$ 行($1 \leq i \leq N$)应包含Snuke $i$ 第一次收到宝石的时间。

示例解释

我们将按时间顺序列出三个 Snuke 和 Takahashi 在时间 $13$ 之前的动作。

时间 $3$ :Takahashi 把宝石交给 Snuke $1$。

时间 $7$ :Snuke $1$把宝石交给 Snuke $2$。

时间 $8$ :Snuke $2$把宝石交给 Snuke $3$。

时间 $10$ :Takahashi 把宝石交给 Snuke $2$。

时间 $11$ :Snuke $2$把宝石交给 Snuke $3$。

时间 $13$ :Snuke $3$把宝石交给 Snuke $1$。

之后,它们会继续交付宝石,但这对于答案来说无关紧要。

注意 $S_i$ 和 $T_i$ 的值可能不一样。

请注意,某个 Snuke 可能同时进行多次交易。 特别地,某个 Snuke 可能同时从 Takahashi 和另外一个 Snuke 那里接收到宝石。

将试题规格翻译成自然语言描述是提高翻译机能力的有效途径。能够理解问题,不仅能够准确翻译描述,还能够发现其中存在的含糊之处,并向用户提出更准确的问题。