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 翻译