結果
| 問題 | 
                            No.281 門松と魔法(1)
                             | 
                    
| コンテスト | |
| ユーザー | 
                             eitaho
                         | 
                    
| 提出日時 | 2016-07-27 12:30:33 | 
| 言語 | Python3  (3.13.1 + numpy 2.2.1 + scipy 1.14.1)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 32 ms / 1,000 ms | 
| コード長 | 498 bytes | 
| コンパイル時間 | 176 ms | 
| コンパイル使用メモリ | 12,544 KB | 
| 実行使用メモリ | 10,880 KB | 
| 最終ジャッジ日時 | 2024-11-06 20:47:13 | 
| 合計ジャッジ時間 | 3,315 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge2 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 57 | 
ソースコード
INF = 10 ** 9
d = int(input())
def calc(a, b, c):  # a < b < c
    if d == 0:
        return 0 if a < b < c else INF
    fb = max(0, (b - c + 1 + d - 1) // d)
    b = max(0, b - d * fb)
    fa = max(0, (a - b + 1 + d - 1) // d)
    a = max(0, a - d * fa)
    return fa + fb if a < b < c else INF
H = [int(input()) for i in range(3)]
a = min(calc(H[1], H[0], H[2]), calc(H[1], H[2], H[0]))
b = min(calc(H[0], H[2], H[1]), calc(H[2], H[0], H[1]))
ans = min(a, b)
print(-1 if ans == INF else ans)
            
            
            
        
            
eitaho