题面:给出 (x),(y) 和 (n), 找到最大的 (k) 满足 (0le kle n) 且 (k mod{x}=y) 。
我们考虑从取模的性质下手。
首先来分析 (x=7,y=5,n=12345) 这组数据,(12345mod7) 比 (5) 小,所以考虑减去 ((n mod{x})+x-y) ,即需要减去的最小值,因为 (n mod{x}) 要余 (y) 的话肯定只能减不能增,要减去的就是取模后的结果加模数减去余数。
接着分析 (x=5,y=0,n=4) ,因为 (x>n) ,所以输出 (y) 即可。
然后如果 (nmod{x}>y) 时,便只用减去 (y) 即可。
代码就不放,反正看懂题解的也不需要代码。需要代码 tunyunzun@163.com 联系我。