AT_abc430_d.[ABC430D] Neighbor Distance

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

有一条数轴,最初 0 号人独自站在坐标 00 处。

从现在开始,编号为 1,2,…,N1,2,\dots,N 的人依次到达,并站在数轴上。第 ii 个人会站在坐标 XiX_i 处,这里 Xi≥1X_i \geq 1,并且每个人的 XiX_i 互不相同。

每次有新的人到达时,请回答以下问题:

  • 假设当前有 r+1r+1 个人(编号为 0,1,…,r0,1,\dots,r)站在数轴上。
  • 对于每个人 ii,定义 did_i 为他到最近的其他人的距离。
    • 更正式地, di=min⁡0≤j≤r, j≠i∣Xi−Xj∣d_i = \min_{0 \leq j \leq r,\, j \neq i} |X_i - X_j|。
  • 求 dd 的总和,即 ∑i=0rdi\sum_{i=0}^r d_i。

输入格式

输入从标准输入读取,格式如下:

N X1 X2 … XNN \ X_1 \ X_2 \ \dots \ X_N

输出格式

输出共 NN 行。
第 ii 行(1≤i≤N1 \leq i \leq N)应在第 ii 个人到达时输出问题的答案。

输入输出样例

  • 输入#1

    10
    5 2 7 4 108728325 390529120 597713292 322456626 845148281 812604915

    输出#1

    10
    7
    8
    8
    108728326
    390529121
    523096670
    452057486
    699492475
    517144218

说明/提示

样例解释 1

本样例中共有 10 个人到来。
前 4 个人的详细过程如下:

  • 当第 1 个人到达时,当前坐标为 0,50,5。
    • 所需答案为 5+5=105+5=10。
  • 当第 2 个人到达时,当前坐标为 0,2,50,2,5。
    • 所需答案为 2+2+3=72+2+3=7。
  • 当第 3 个人到达时,当前坐标为 0,2,5,70,2,5,7。
    • 所需答案为 2+2+2+2=82+2+2+2=8。
  • 当第 4 个人到达时,当前坐标为 0,2,4,5,70,2,4,5,7。
    • 所需答案为 2+2+1+1+2=82+2+1+1+2=8。

数据范围

  • 所有输入的值均为整数。
  • 1≤N≤5×1051 \leq N \leq 5 \times 10^5
  • 1≤Xi≤1091 \leq X_i \leq 10^9
  • 若 i≠ji \neq j,则 Xi≠XjX_i \neq X_j。

由 ChatGPT 5 翻译

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

首页