153AC - ABC056C: Go Home

ABC056-C (300 points)
問題

時刻  0 に座標  0 からスタートして, 時刻  i \{+i, 0, -i \} 動くことができるとき, 座標  X に到達できる最短時刻を求める.

  •  1 \leq  X \leq 10^{9}
  • 入力は全て整数
方針
  •  X = 10 ぐらいまで実験してみる.
  •  t までに到達できる座標は  \sum_{i = 0}^{t} i まで.
  •  \sum_{i = 0}^{t} i までの座標であれば時刻  t までに到達可能.
  • よって  \sum_{i = 0}^{t - 1} i < X \leq \sum_{i = 0}^{t} i となる  tを求めればよい.
# input
X = int(input())

i = 1
while 2 * X > i * (i + 1):
    i += 1

print(i)