请注意,本文的分数均指洛谷的民间数据测评分数,非官方,等到官方数据下发将会再次测评
T1:分糖果
本题题目很难读,其实就是给出N,L,R,在L到R的区间中找一个数,使其对N取模的值最大
其实可以O(1)的,但我偏要写循环
但是,请注意正序的话会超时,倒序效率很高
因为答案最大肯定是N-1,所以我们找到一个N-1就退出,否则我们就记录最大值
刁钻数据来了,1000000000 1 1000000000
正序直接TLE,倒序只要循环1次
又有人说了,这样的数据可以卡正序,那我来个数据卡倒序
12 1 1000000000
这样不就TLE了吗?
。。。
其实倒序找的话只要找到999999995就行了,因为999999995%12==11
可以自己编一下数据,会发现倒叙效率基本上稳定在1e4以内,可以通过的
Code:
#include<bits/stdc++.h> using namespace std; int main() { // freopen("candy.in","r",stdin); // freopen("candy.out","w",stdout); int n,l,r,ans=0; scanf("%d%d%d",&n,&l,&r); for(int i=r;i>=l;i--) { if(i%n==n-1) {ans=n-1;break;} ans=max(ans,i%n); } cout<<ans; return 0; }