CF936A Save Energy!

题目描述

Julia 打算在她宿舍的厨房里烹饪一只鸡。为了节能,厨房的炉子在打开后会在 $k$ 分钟后自动关闭。 在烹饪过程中,Julia 每隔 $d$ 分钟会去厨房一次,如果炉子已经关闭,她会重新打开炉子。当炉子关闭时,它仍然保持温热。炉子的开关是瞬时完成的。 已知鸡肉在炉子开启时需要 $t$ 分钟才能煮熟,而在炉子关闭时则需要 $2t$ 分钟。你需要计算 Julia 总共需要多少时间才能将鸡肉煮熟。假设鸡肉在炉子开启和关闭时都以恒定速度均匀加热。

输入格式

一行包含三个整数 $k$、$d$ 和 $t$($1 \leq k, d, t \leq 10^{18}$)。

输出格式

输出一个数字,表示总共需要烹饪的时间(单位:分钟)。相对或绝对误差不超过 $10^{-9}$。 具体来说,假设你的答案为 $x$,标准答案为 $y$,如果满足 $$ \frac{|x-y|}{\max(1, |y|)} \leq 10^{-9} $$ 则视为正确。

说明/提示

在第一个样例中,鸡肉会在开启的炉子上煮 3 分钟,此后会在 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF936A/946fbd87d05fe2e24b8af4d0aa7735f7b1052cc7.png) 的时间内继续加热。然后鸡肉会在关闭的炉子上煮 1 分钟,这段时间内会加热 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF936A/a9bdc1b9aee6e89dbd96641ebe23053a20526f44.png)。 因此,4 分钟后鸡肉已经加热了 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF936A/6991f0a9cff42170b98fc979c8ddd5223ae7cf0e.png)。 在第 5 分钟前,Julia 会重新打开炉子,经过 $2.5$ 分钟后鸡肉就煮熟了 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF936A/b3b22ef8237f8837aeb119d85eaee973ea63486d.png)。 在第二个样例中,每当炉子关闭时,Julia 会立刻重新打开,因此炉子始终处于开启状态,鸡肉会在 20 分钟内煮熟。 由 ChatGPT 4.1 翻译