結果
| 問題 |
No.281 門松と魔法(1)
|
| コンテスト | |
| ユーザー |
rlangevin
|
| 提出日時 | 2023-07-22 18:58:07 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 39 ms / 1,000 ms |
| コード長 | 684 bytes |
| コンパイル時間 | 307 ms |
| コンパイル使用メモリ | 82,132 KB |
| 実行使用メモリ | 53,688 KB |
| 最終ジャッジ日時 | 2024-09-22 18:27:18 |
| 合計ジャッジ時間 | 4,167 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 57 |
ソースコード
d = int(input())
inf = 10 ** 18
H = [0] * 3
for i in range(3):
H[i] = int(input())
def check(A, d):
if d == 0:
if A[0] > A[1] > A[2]:
return 0
else:
return inf
cnt = 0
if A[1] >= A[0]:
cnt = (A[1] - A[0] + 1 + d - 1)//d
A[1] -= cnt * d
if A[1] <= 0:
return inf
if A[2] >= A[1]:
cnt += (A[2] - A[1] + 1 + d - 1)//d
return cnt
ans = inf
ans = min(ans, check([H[1], H[0], H[2]], d))
ans = min(ans, check([H[1], H[2], H[0]], d))
ans = min(ans, check([H[2], H[0], H[1]], d))
ans = min(ans, check([H[0], H[2], H[1]], d))
print(ans) if ans != inf else print(-1)
rlangevin