3 条题解

  • 2
    @ 2023-3-18 11:41:25

    推一下楼上的代码

    //先把万能头敲好(bushi) 
    
    #include <bits/stdc++.h>
    using namespace std;
    
    //题目让输入的变量设好
    long long n,L,R; 
    //注意范围10的9次幂比较大long long 保险
    
    int main(){
    	//比赛时加上freopen 
    	freopen("candy.in","r",stdin);
    	freopen("candy.out","w",stdout); 
    
    	//scanf,printf快一点(也没快到哪里去)
    	scanf("%lld %lld %lld",&n,&L,&R);
    
    	/*
    	设你得到的糖果奖励为win 
    	wim<n且为整数
    	win的最大值为n-1即k%n=n-1
    	k+1 能被n整除
    	若此时L<=k<=R则win=n-1
    	这是第一种情况 
    	
    	如果L到R不包含k+1能被n整除的情况
    	比如当n=10,L=14,R=18时
    	k+1尽量接近n的倍数,此时k应当是L到R的最大值也就是R 
    	
    	我们只需要判断题目数据是以上那种情况
    	这题就完全不需要循环 
    	*/ 
    
    	if( L%n+R-L < n-1 ){
    		printf("%lld",R%n);
    	}
    	//当R到L中没有k+1能被n整除的情况时输出R%n
    
    	else{
    		printf("%lld",n-1);
    	} 
    	return 0;
    }
    

    这题很好骗分 直接输出n-1就行可以尝试一下

信息

ID
489
时间
1000ms
内存
256MiB
难度
6
标签
(无)
递交数
50
已通过
15
上传者