Submission #16003466
Source Code Expand
X, K, D = map(int, input().split())
if X < 0:
X=-X # これにより、X>=0の場合だけ考えればよい
#+D or -D
# X + D*(K-n) + (-D) *n ;0<=n <=K
# -> X + D*(K-2*n)
# 1, X>=K*D-> K回全部(-D)移動に使うことが最適->n=K
# 2, X < K*D ->
# X >= p*D を満たす最大のpを探す -> p回(-D)移動に使うことが最適
# 残り(K-p)%2=0なら行ったり来たりで消化できる.
# 残り回数が奇数の場合、R=X-D*pとすると、min(R+D,abs(R-D))
n = 0 # 負方向移動の回数
result = X + D*(K-2*n)
# if X == 0:
# if K % 2 == 0:
# n = K/2
# print(result)
# else:
# print(D)
if X >= D*K:
print(X-D*K)
elif X < D*K:
p = int(X/D) # X/D回負の方向に移動すれば、原点に最も近い正の値になる。
result=X-D*p
if (K-p) % 2 == 0:
print(result)
elif (K-p)%2 ==1:
print(abs(result-D))
Submission Info
| Submission Time | |
|---|---|
| Task | C - Walking Takahashi |
| User | f_taka |
| Language | Python (3.8.2) |
| Score | 300 |
| Code Size | 948 Byte |
| Status | AC |
| Exec Time | 30 ms |
| Memory | 9188 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 300 / 300 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | s1.txt, s2.txt, s3.txt, s4.txt |
| All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, s1.txt, s2.txt, s3.txt, s4.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01.txt | AC | 20 ms | 8880 KiB |
| 02.txt | AC | 22 ms | 8876 KiB |
| 03.txt | AC | 25 ms | 9048 KiB |
| 04.txt | AC | 24 ms | 9108 KiB |
| 05.txt | AC | 17 ms | 8984 KiB |
| 06.txt | AC | 22 ms | 8876 KiB |
| 07.txt | AC | 18 ms | 9064 KiB |
| 08.txt | AC | 19 ms | 8880 KiB |
| 09.txt | AC | 22 ms | 9064 KiB |
| 10.txt | AC | 24 ms | 9028 KiB |
| 11.txt | AC | 25 ms | 9000 KiB |
| 12.txt | AC | 20 ms | 9060 KiB |
| 13.txt | AC | 27 ms | 8936 KiB |
| 14.txt | AC | 30 ms | 9104 KiB |
| 15.txt | AC | 21 ms | 9032 KiB |
| 16.txt | AC | 16 ms | 9032 KiB |
| 17.txt | AC | 30 ms | 9060 KiB |
| 18.txt | AC | 24 ms | 8888 KiB |
| 19.txt | AC | 20 ms | 8980 KiB |
| 20.txt | AC | 26 ms | 8976 KiB |
| 21.txt | AC | 23 ms | 9052 KiB |
| 22.txt | AC | 22 ms | 8884 KiB |
| 23.txt | AC | 26 ms | 8880 KiB |
| 24.txt | AC | 19 ms | 9064 KiB |
| 25.txt | AC | 26 ms | 9064 KiB |
| 26.txt | AC | 23 ms | 9052 KiB |
| 27.txt | AC | 24 ms | 8872 KiB |
| s1.txt | AC | 20 ms | 8872 KiB |
| s2.txt | AC | 17 ms | 9188 KiB |
| s3.txt | AC | 26 ms | 9056 KiB |
| s4.txt | AC | 22 ms | 8876 KiB |