```c
#include<bits/stdc++.h>
using namespace std;
int n,l,r;
int main(){
cin>>n>>l>>r;
cout<<min(r,l+(n-1-l%n))%n;
return 0;
}
```
by wzj0829 @ 2023-08-22 16:19:24
因为 $2≤n≤L≤R≤10^9$
by myzzym @ 2023-08-22 16:27:47
```c
#include<bits/stdc++.h>
using namespace std;
int n,l,r;
int main(){
cin>>n>>l>>r;
if(r/n==l/n){
cout<<r%n<<endl;
}
else{
cout<<n-1<<endl;
}
return 0;
}
```
by Eric1122 @ 2023-10-04 11:32:20
下下来这个点数据发现r-l接近5e8,你每次循环都需要取余,肯定过不了。试试楼上的方法,也可以试试优化成减法或乘法。取余太慢了,别指望它过1e8以上。
by T_AK_CSP_2023 @ 2023-10-12 18:05:09