1 条题解

  • 0
    @ 2026-10-26 22:20:37

    思路与算法

    奖励仅为k模n,区间跨整除块即包含余数n-1,否则取右端;区别于GESP队列递增糖果或全部糖果所得。

    按上述模型建立状态或枚举对象,依代码中的顺序处理输入并输出完整答案。

    正确性说明

    分糖每次恰减n,剩余为k模n。若区间跨越整除块,前一块末尾余数n-1在区间内;同一块中余数随k单调增加,右端最优。

    复杂度

    O(1)时间、O(1)空间。

    易错点

    只统计搬运奖励余数,不加上自己在均分轮次得到的糖果。

    参考代码(C++11)

    #include <bits/stdc++.h>
    using namespace std;
    int main() {
        long long n, l, r;
        cin >> n >> l >> r;
        cout << (l / n == r / n ? r % n : n - 1) << "\n";
    }
    
    • 1

    【21CSPJ普及组】分糖果(candy)

    信息

    ID
    1895
    时间
    1000ms
    内存
    512MiB
    难度
    入门
    标签
    递交数
    0
    已通过
    0
    上传者