题解:P11599 『Fwb』神话の传播

· · 题解

不妨换个思路,计算跑 x 距离需要补充多少次 k 个体力值,在最开始全补完。

具体地,跑 x 距离需要 \left\lceil\dfrac{n}{x}\right\rceil 天,即 \left\lceil\dfrac{n}{x}\right\rceil 体力值。那么一共需要补充 \left\lceil\dfrac{\left\lceil\frac{n}{x}\right\rceil}{k}\right\rceil 次体力值。然而一开始就有 k 体力值,相当于可以少补充一次,因此需要 \left\lceil\dfrac{\left\lceil\frac{n}{x}\right\rceil}{k}\right\rceil-1 天补充体力值。答案为 \left\lceil\dfrac{n}{x}\right\rceil+\left\lceil\dfrac{\left\lceil\frac{n}{x}\right\rceil}{k}\right\rceil-1

#include<bits/stdc++.h>
using namespace std;

int main(){
    int n,x,k;cin>>n>>x>>k;
    int t=ceil(n*1.0/x);
    cout<<t+ceil(t*1.0/k)-1;
    return 0;
}