QOJ.ac

QOJ

実行時間制限: 2 s メモリ制限: 256 MB 満点: 100

#4755. 罗穆阿尔德奇与余数

統計

老罗穆阿尔德奇(Romualdych)刚学会带余除法,但这让他彻底乱了套。 这件事让他困惑不已,急得满头大汗。他希望能在一个区间 $[a, b]$ 中找到某个数 $x$,使得 $x$ 除以某个数 $y$ 后的余数为 $r$。说实话,老罗穆阿尔德奇并不是个聪明人,即便他费尽心思去钻研这个问题,如果没有你的帮助,他也很难解决。

输入格式

第一行包含一个整数 $T$ —— 文件中的测试用例数量 ($1 \le T \le 200\,000$)。 接下来的 $T$ 行,每行包含三个整数:$a, b$ —— 区间的边界,以及 $r$ —— 要求的余数 ($0 \le a \le b \le 10^{18}, 0 \le r \le 10^{18}$)。

输出格式

按输入文件中测试用例给出的顺序输出 $T$ 个答案,每行一个答案。 每个答案包含两个整数 $x$ 和 $y$,满足 $a \le x \le b$,$1 \le y \le 2 \cdot 10^{18}$,且 $x$ 除以 $y$ 的余数等于 $r$。如果有多个符合要求的答案,请选择 $x$ 最小的答案。如果没有可能的答案,则输出两个整数:$x = -1$ 和 $y = -1$。

样例

输入 1

2
6 8 0
3 5 10

输出 1

6 3
-1 -1

说明

在第一个测试用例中,$6$ 除以 $3$ 的余数确实为 $0$。由于 $6$ 是区间 $[6, 8]$ 中最小的数,因此这是正确答案。此外,输出 $x = 6$ 且 $y = 2$ 也是可以的(题目不要求最小化 $y$),而答案 $x = 8$ 且 $y = 4$ 不能输出,因为它的 $x$ 不是最小的。

在第二个测试用例中,没有答案,因为无论 $x$ 除以什么数 $y$,在区间 $[3, 5]$ 内都不可能得到余数 $10$。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.