上午参加了 \(\rm CSP-J\) 中午来补题解。
感觉今年的 1= 分数线会相对而言低一点。
题目大意
给定 \(n,l,r\),求 \(\max\limits_{i=l}^{r}~\operatorname{mod}~n\) 的最大值。
观察到 \(r-l\le10^9\),那么答案可能和这个有关(不然给你这个干啥)。
否则,如果 \(r-l\ge n\),那么说明区间 \([l,r]\) 之间一定有 \(n\) 的某个倍数 \(-1\),要想 \(\operatorname{mod}~n\) 最大,答案就是 \(n-1\)。
否则,即 \(r-l\lt n\),因为 \(n\le l\le r\),所以此时最大值为 \(r~\operatorname{mod}~n\)。
代码
int main(void)
{
//freopen("candy.in","r",stdin);
//freopen("candy.out","w",stdout);
int n,l,r;
n=read(),l=read(),r=read();
if(r-l>=n)
{
printf("%d\n",n-1);
}
else
{
printf("%d\n",r%n);
}
return 0;
}