AT_abc429_d.[ABC429D] On AtCoder Conference

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

有一个周长为 MM 的池塘,岸上有一座小屋和 NN 个人。
对于一个实数 xx (0≤x<M0\leq x <M),定义位置 xx 表示距离小屋顺时针方向 xx 的点。
第 ii 个人位于点 AiA_i。可能有多个人站在同一个位置。

另外,给定一个不超过 NN 的整数 CC。对于 i=0,1,…,M−1i=0,1,\ldots,M-1,定义 XiX_i 如下:

  1. 高桥从点 (i+0.5)(i+0.5) 出发,开始顺时针移动。
  2. 只要他遇到的人数总和还不到 CC,他就继续顺时针走,直到人数达到 CC 或更多时停止。在这里,“在点 yy 遇到某人”是指高桥到达点 yy。
  3. 令 XiX_i 表示高桥在停下来前遇到的总人数。如果他在停下来的点有多个人,这些人全部计入遇到的人数,因此 XiX_i 也有可能大于 CC。

求 XiX_i 对于 i=0,1,…,M−1i=0,1,\ldots,M-1 的和,即 ∑i=0M−1Xi\displaystyle\sum_{i=0}^{M-1} X_i。

输入格式

输入按下述格式给出:

NN MM CC
A1A_1 A2A_2 …\ldots ANA_N

输出格式

输出一行,表示 XiX_i 的和,即 ∑i=0M−1Xi\displaystyle\sum_{i=0}^{M-1} X_i。

输入输出样例

  • 输入#1

    5 3 2
    1 2 1 0 1

    输出#1

    9
  • 输入#2

    1 1000000000000 1
    1

    输出#2

    1000000000000

说明/提示

样例解释 1

当 i=0i=0 时,高桥从 0.50.5 出发,顺时针走一圈,过程如下:

  • 到达 11,遇到第 11、第 33 和第 55 个人,总共 33 人,此时达到了 C=2C=2,高桥在此处停下。因此 X0=3X_0=3。

当 i=1i=1 时,高桥从 1.51.5 出发,顺时针走一圈,过程如下:

  • 到达 22,遇到第 22 个人,总人数 11,还没达到 CC。
  • 到达 00,遇到第 44 个人,总数达到 22,达到 CC,高桥停止。因此 X1=2X_1=2。

当 i=2i=2 时,高桥从 2.52.5 出发,顺时针走一圈,过程如下:

  • 到达 00,遇到第 44 个人,总数 11,继续前进。
  • 到达 11,遇到第 11、第 33 和第 55 个人,总共 33 人,加上之前的 11 人,总数 44,达到 CC,高桥停止。因此 X2=4X_2=4。

因此答案为 X0+X1+X2=3+2+4=9X_0+X_1+X_2=3+2+4=9。

样例解释 2

无论从哪里出发,高桥都会在遇到唯一的那个人(他站在 11 位置)时停下。
因此,对任意 ii 有 Xi=1X_i=1,答案为 101210^{12}。

数据范围

  • 1≤N≤5×1051\leq N\leq 5\times 10^5
  • 1≤M≤10121\leq M\leq 10^{12}
  • 0≤Ai≤M−10\leq A_i\leq M-1
  • 1≤C≤N1\leq C\leq N
  • 输入的所有数均为整数。

由 ChatGPT 5 翻译

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

首页