1 条题解

  • 0
    @ 1986-10-25 12:46:06

    练18.2 苹果和虫子

    解题思路

    经过 y 小时,被虫咬过的苹果为 ceil(y/x),正在吃的也不完整。完整数为 max(0,n-ceil(y/x))。

    正确性说明

    每开始一个 x 小时周期就破坏一个完整苹果,向上取整统计已开始的周期;剩余不能为负。

    易错点

    恰好吃完时不用额外扣下一只;x 为正才有周期意义。

    复杂度

    输入规模固定,时间 O(1),额外空间 O(1)。

    参考代码(C++11)

    #include <bits/stdc++.h>
    using namespace std;
    
    int main() {
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
        long long n, x, y;
        cin >> n >> x >> y;
        cout << max(0LL, n - (y + x - 1) / x) << "\n";
        return 0;
    }
    
    • 1