AT_abc255_c.[ABC255C] ±1 Operation 1

普及-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个整数 XX。对 XX 进行如下操作称为“一次操作”:

  • 从以下两种操作中任选一种并执行:
    • 将 XX 加 11。
    • 将 XX 减 11。

对于首项为 AA,公差为 DD,项数为 NN 的等差数列 SS,我们称 SS 中的数为“好数”。
你可以对 XX 进行 00 次或多次操作,使其变为“好数”。请你求出所需操作的最小次数。

输入格式

输入为一行,包含四个整数:

X A D NX\ A\ D\ N

输出格式

输出一个整数,表示所需的最小操作次数。

输入输出样例

  • 输入#1

    6 2 3 3

    输出#1

    1
  • 输入#2

    0 0 0 1

    输出#2

    0
  • 输入#3

    998244353 -10 -20 30

    输出#3

    998244363
  • 输入#4

    -555555555555555555 -1000000000000000000 1000000 1000000000000

    输出#4

    444445

说明/提示

限制条件

  • 所有输入均为整数。
  • −1018≤X,A≤1018-10^{18} \leq X, A \leq 10^{18}
  • −106≤D≤106-10^6 \leq D \leq 10^6
  • 1≤N≤10121 \leq N \leq 10^{12}

样例解释 1

由于 A=2,D=3,N=3A=2, D=3, N=3,等差数列 S=(2,5,8)S=(2,5,8)。要将 X=6X=6 变为“好数”,只需对 XX 执行一次减 11 操作即可。无法通过 00 次操作使 XX 成为“好数”。

样例解释 2

D=0D=0 的情况也是可能的。此外,也可能不需要进行任何操作。

由 ChatGPT 4.1 翻译

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

首页