CSP-J 2021题解

请注意,本文的分数均指洛谷的民间数据测评分数,非官方,等到官方数据下发将会再次测评

T1:分糖果

CSP-J 2021题解

 

 CSP-J 2021题解

 本题题目很难读,其实就是给出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;
}

  

上一篇:CSP 赛后总结


下一篇:CSP-S 2021 游记