简单
2026-04-11 16:07:21
发布于:浙江
1阅读
0回复
0点赞
解法:如果r-l>=n,那么中间值x(l<=x<=r)%n的最大值一定是n-1,因为其中有r-l个元素,同时r-l>=n。
剩下的r-l<n的部分,中间可能包含n-1
其他的,一定满足:tn<=l<=r<=(t+1)n 其中t是整数,那么最优解一定是r,因为r>=l
根据这个,就可以写出以下代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,l,r;
cin >> n >> l >> r;
if(r-l>=n||r/n!=l/n){
cout << n-1;
return 0;
}
cout << r%n;
return 0;
}
很简单,对吧?
全部评论 1
点个赞吧,求求了
1周前 来自 浙江
0








有帮助,赞一个