各位大佬帮忙看一下为什么有一个点T了

P7909 [CSP-J 2021] 分糖果

```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


|