博客
关于我
按需取余
阅读量:405 次
发布时间:2019-03-06

本文共 1591 字,大约阅读时间需要 5 分钟。

CF 1374A. Required Remainder

You are given three integers x,y and n. Your task is to find the maximum integer k such that 0≤k≤n that kmodx=y, where mod is modulo operation. Many programming languages use percent operator % to implement it.

给定3个整数x,y和n,找到一个数k,使得

\[0⩽k⩽n\]

,并且

\[k \% x = y\]

In other words, with given x,y and n you need to find the maximum possible integer from 0 to n that has the remainder y modulo x.

You have to answer t independent test cases. It is guaranteed that such k exists for each test case.

给定t组测试数据,每组数据保证存在这样的k。

Input

The first line of the input contains one integer t (1≤t≤5⋅104) — the number of test cases. The next t lines contain test cases.

The only line of the test case contains three integers x,y and n (2≤x≤109; 0≤y<x; y≤n≤109).

It can be shown that such k always exists under the given constraints.

Output

For each test case, print the answer — maximum non-negative integer k such that 0≤k≤n and kmodx=y. It is guaranteed that the answer always exists.

Example

输入

77 5 123455 0 410 5 1517 8 54321499999993 9 100000000010 5 1872 0 999999999

输出

1233901554306999999995185999999998

比如输入x=7,y=5,n=12345,如何求得k,使得k<12345并且k%7=5呢?

朴素的做法:遍历n到1,看k%7是否等于5

换一种思路:考虑p%7是否等于0,如果等于0,p再加上5不就是答案k了吗。显然直接用n/b取底再乘以b即是最大的p。结果可以用公式表示如下:

\[k=⌊n÷x⌋∗x+y\]

当我们在解决一个问题的时候,首先看能不能将这个问题转换为相近的问题,间接的去思考最终结果,虽然是一个很小的题目,但是可以多花一点时间思考为什么。

每天学习一点点,你学会了吗,这是CF最简单的题目啦,加油~

#include
using namespace std;typedef long long ll;int main() { int t; cin >> t; ll x, y, n; while (t--) { cin >> x >> y >> n; cout << (n - y) / x * x + y << endl; } return 0;}

转载地址:http://yuykz.baihongyu.com/

你可能感兴趣的文章
MySQL错误提示mysql Statement violates GTID consistency
查看>>
mysql错误:This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de
查看>>
mysql长事务
查看>>
mysql问题记录
查看>>
MySQL集群解决方案(1):MySQL数据库的集群方案
查看>>
MySQL集群解决方案(4):负载均衡
查看>>
MySQL集群解决方案(5):PXC集群
查看>>
MySQL面试宝典
查看>>
WAP短信:融合传统短信和互联网的新型通信方式
查看>>
mysql面试题学校三表查询_mysql三表查询分组后取每组最大值,mysql面试题。
查看>>
Mysql面试题精选
查看>>
MySQL面试题集锦
查看>>
mysql面试题,存储引擎InnoDB和MyISAM
查看>>
mysql面试题:为什么MySQL单表不能超过2000W条数据?
查看>>
mysql面试题:创建索引时会不会锁表?
查看>>
mysql面试题:高度为3的B+树可以存放多少数据?
查看>>
mysql颠覆实战笔记(八)--mysql的自定义异常处理怎么破
查看>>
mysql驱动、durid、mybatis之间的关系
查看>>
mysql驱动支持中文_mysql 驱动包-Go语言中文社区
查看>>
MySQL高可用之——keepalived+互为主从
查看>>