```cpp
#include<bits/stdc++.h>
using namespace std;
int n,l,r;
int f(int L,int R){
if(L==R) return L;
if(L+1==R){
if(n+R<=r && n+R>=l) return R;
return L;
}
int mid=(L+R)/2;
if(n+mid>=r) return f(L,mid);
if(n+mid<=l || (n+mid>=l && n+mid<=r)) return f(mid,R);
}
int main(){
// freopen("candy.in","r",stdin);
// freopen("candy.out","w",stdout);
scanf("%d %d %d",&n,&l,&r);
int L=0,R=n-1;
n=n*(l/n);
printf("%d",f(L,R));
return 0;
}
```
by BigJoker @ 2021-10-24 10:45:54
妙啊
by ricky0916 @ 2021-10-24 10:49:18
@[ricky0916](/user/289230) 感觉仔细一想也没有问题。
by BigJoker @ 2021-10-24 10:50:36
%%%
by 王君诺 @ 2021-10-24 10:52:19
@[BigJoker](/user/364122) 但是复杂度大了一丢丢
by ricky0916 @ 2021-10-24 11:21:35
@[ricky0916](/user/289230) 对,复杂度是log。
by BigJoker @ 2021-10-24 11:38:04
但这二分是假的吧(虽然说我也写的是二分)
by RE_Prince @ 2022-06-30 19:43:28