[CF Contest] Required Remainder 题解

题面:给出 (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 联系我。

原文地址:https://www.cnblogs.com/Inversentropir-36/p/13208436.html