CF1455B Jumps
题目描述
你现在站在 $OX$ 轴上的 $0$ 点,你想移动到一个整数点 $x > 0$。
你可以进行若干次跳跃。假设你当前在点 $y$($y$ 可能为负数),第 $k$ 次跳跃时,你可以:
- 跳到点 $y + k$,
- 或跳到点 $y - 1$。
你到达点 $x$ 至少需要多少次跳跃?
输入格式
第一行包含一个整数 $t$($1 \le t \le 1000$),表示测试用例的数量。
每个测试用例的第一行包含一个整数 $x$($1 \le x \le 10^6$),表示目标点。
输出格式
对于每个测试用例,输出一个整数,表示到达 $x$ 所需的最少跳跃次数。可以证明你总能到达任意整数点 $x$。
说明/提示
在第一个测试用例中,$x = 1$,你只需跳一次:第一次跳跃从 $0$ 到 $0 + 1 = 1$。
在第二个测试用例中,$x = 2$。你至少需要三次跳跃:
- 第一次跳跃从 $0$ 到 $0 + 1 = 1$;
- 第二次跳跃从 $1$ 到 $1 + 2 = 3$;
- 第三次跳跃从 $3$ 到 $3 - 1 = 2$;
两次跳跃是不够的,因为所有可能的情况如下:
- 第一次跳跃为 $-1$,第二次跳跃也为 $-1$,到达 $0 - 1 - 1 = -2$;
- 第一次跳跃为 $-1$,第二次跳跃为 $+2$,到达 $0 - 1 + 2 = 1$;
- 第一次跳跃为 $+1$,第二次跳跃为 $-1$,到达 $0 + 1 - 1 = 0$;
- 第一次跳跃为 $+1$,第二次跳跃为 $+2$,到达 $0 + 1 + 2 = 3$;
在第三个测试用例中,你需要两次跳跃:第一次跳跃为 $+1$,第二次跳跃为 $+2$,所以 $0 + 1 + 2 = 3$。
在第四个测试用例中,你需要三次跳跃:第一次跳跃为 $-1$,第二次跳跃为 $+2$,第三次跳跃为 $+3$,所以 $0 - 1 + 2 + 3 = 4$。
由 ChatGPT 4.1 翻译