极简两行代码版本
查看原帖
极简两行代码版本
395511
insmtr楼主2021/10/23 23:18

还有更简单的吗,在线等。

#include<iostream>
#include<queue>

using namespace std;

inline int read() {
    int x = 0, f = 1;
    char c = getchar();
    while (c < '0' || c > '9') {
        if (c == '-')
            f = -1;
        c = getchar();
    }
    while (c >= '0' && c <= '9')
        x = (x << 3) + (x << 1) + (c & 15), c = getchar();
    return x * f;
}

inline void write(int x) {
    if (x == 0)
        putchar('0');
    else {
        if (x < 0)
            putchar('-'), x *= -1;
        int l = 0, t = x;
        while (t)
            l++, t /= 10;
        int buf[l];
        for (int i = l - 1; i >= 0; i--)
            buf[i] = x % 10, x /= 10;
        for (int i = 0; i < l; i++)
            putchar(buf[i] | 48);
    }
}

int main() {
    int n = read(), L = read(), R = read();
    write(L / n == R / n ? R % n : n - 1);
}
2021/10/23 23:18
加载中...