题目大意
在L到R中,找到一个数,使得该数%$n$最大
题目思路
$1.$理想状态下,如果$R - L$足够大,一个数%$n$的最大值显然是$n - 1$。
$2.$但是如果$R$ ~ $L$之中,不存在某数为$k·n + n - 1$,那么这个数就是$R$,显然它%n的结果最大。
总结一下,答案就是 min(n - 1, L % n + R - L)
可以证明,在两种情况下,max(n - 1, L % n + R - L) 一定是不合法或不符题意的。
代码
时间复杂度 ɵ(1).
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int n, l, r;
cin >> n >> l >> r;
cout << min(n - 1, l % n + r - l);
return 0;
}