AtCoder Beginner Contest 175 C - Walking Takahashi 【Python】
https://atcoder.jp/contests/abc175/tasks/abc175_c
AtCoder ProblemsのRecommendationで Difficulty: 417、Solve Probability: 46%でした。
X, K, D = map(int, input().split()) absd = abs(X) # K*Dが原点を超えない場合 if K * D <= absd: print(absd - K * D) # K*Dが原点を超える場合 else: # 原点を超えずに原点手前まで移動する回数 base_n = absd // D # 原点を超えずに原点手前まで移動した後の座標の絶対値 left_di = absd - D * base_n #残りの移動回数 left_k = K - base_n # 残りの移動回数の偶数なら現在の座標、 # 奇数なら原点を超える向きに1度移動した後の座標が答え if left_k % 2 == 0: print(left_di) else: print(D - left_di)