[CF Contest] Required Remainder 题解

题面:给出 \(x\)\(y\)\(n\), 找到最大的 \(k\) 满足 \(0\le k\le n\)\(k \mod{x}=y\)

我们考虑从取模的性质下手。

首先来分析 \(x=7,y=5,n=12345\) 这组数据,\(12345\mod7\)\(5\) 小,所以考虑减去 \((n \mod{x})+x-y\) ,即需要减去的最小值,因为 \(n \mod{x}\) 要余 \(y\) 的话肯定只能减不能增,要减去的就是取模后的结果加模数减去余数。

接着分析 \(x=5,y=0,n=4\) ,因为 \(x>n\) ,所以输出 \(y\) 即可。

然后如果 \(n\mod{x}>y\) 时,便只用减去 \(y\) 即可。

代码就不放,反正看懂题解的也不需要代码。需要代码 tunyunzun@163.com 联系我。

posted @ 2020-06-29 16:01  Inversentropir-36  阅读(135)  评论(0编辑  收藏  举报