1 条题解
-
0
思路与算法
奖励仅为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