TB椰程 TypeBuddy 打字搭子

2021 分糖果 · 方案一 枚举每个 k

CSP-J 标程 · 复赛真题 · 代码 · cpp · 难度 1/5 · 共 577 字

把区间里的每个数都试一遍取余数

  • 2021
  • 数学

正文

// CSP-J 2021 复赛 T1 · 分糖果
// 原题:https://oj.yecheng.tv/p/CSPJ2021A
// 题意:拿 k 块糖(L <= k <= R),大家轮流每人拿一块,最后剩下不足 n 块的全归你。
// 也就是问 k mod n 的最大值,其中 k 可以取 [L, R] 里的任意整数。
//
// 方案一 · 枚举每一个 k(直观,R - L 很大时会超时)
// 把区间里的每个 k 都试一遍,取余数最大的那个。
// 复杂度 O(R - L),R - L 能到 1e9,所以只能过小数据。

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

int main() {
    freopen("candy.in", "r", stdin);
    freopen("candy.out", "w", stdout);

    int n, L, R;
    cin >> n >> L >> R;

    int ans = 0;
    for (int k = L; k <= R; k++) {
        ans = max(ans, k % n);
    }
    cout << ans << "\n";
    return 0;
}

CSP-J 标程 · 复赛真题的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK