CF1744E2.Divisible Numbers (hard version)
普及+/提高
通过率:0%
时间限制:4.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
This is an hard version of the problem. The only difference between an easy and a hard version is the constraints on a, b, c and d.
You are given 4 positive integers a, b, c, d with a<c and b<d. Find any pair of numbers x and y that satisfies the following conditions:
- a<x≤c, b<y≤d,
- x⋅y is divisible by a⋅b.
Note that required x and y may not exist.
这是一个该问题的困难版本。简单版本与困难版本的唯一区别在于对 a、b、c 和 d 的约束条件。
给定 4 个正整数 a、b、c、d,满足 a<c 且 b<d。请找出任意一对数 x 和 y,使其满足以下条件:
- a<x≤c,b<y≤d,
- x⋅y 能被 a⋅b 整除。
注意:满足要求的 x 和 y 可能并不存在。
输入格式
The first line of the input contains a single integer t (1≤t≤10), the number of test cases.
The descriptions of the test cases follow.
The only line of each test case contains four integers a, b, c and d (1≤a<c≤109, 1≤b<d≤109).
输入的第一行包含一个整数 t(1≤t≤10),表示测试用例的数量。
随后是各测试用例的描述。
每个测试用例仅有一行,包含四个整数 a、b、c 和 d(1≤a<c≤109,1≤b<d≤109)。
输出格式
For each test case print a pair of numbers a<x≤c and b<y≤d such that x⋅y is divisible by a⋅b. If there are multiple answers, print any of them. If there is no such pair of numbers, then print -1 -1.
对每个测试用例,输出一对数 a<x≤c 和 b<y≤d,使得 x⋅y 能被 a⋅b 整除。若存在多组解,输出任意一组即可。若不存在满足条件的数对,则输出 -1 -1。
输入输出样例
输入#1
10 1 1 2 2 3 4 5 7 8 9 15 18 12 21 14 24 36 60 48 66 1024 729 373248 730 1024 729 373247 730 5040 40320 40319 1000000000 999999999 999999999 1000000000 1000000000 268435456 268435456 1000000000 1000000000
输出#1
2 2 4 6 12 12 -1 -1 -1 -1 373248 730 -1 -1 15120 53760 -1 -1 536870912 536870912
输入解题思路,AI测评打分。不知道怎么写?