結果
問題 | No.281 門松と魔法(1) |
ユーザー |
![]() |
提出日時 | 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 ** 18H = [0] * 3for i in range(3):H[i] = int(input())def check(A, d):if d == 0:if A[0] > A[1] > A[2]:return 0else:return infcnt = 0if A[1] >= A[0]:cnt = (A[1] - A[0] + 1 + d - 1)//dA[1] -= cnt * dif A[1] <= 0:return infif A[2] >= A[1]:cnt += (A[2] - A[1] + 1 + d - 1)//dreturn cntans = infans = 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)