uoj#P12. 【UER #1】猜数

【UER #1】猜数

这一天,小Y、小D、小C正在愉快地玩耍。

小Y是个数学家,他一拍脑袋冒出了一个神奇的完全平方数 $n$。

小D是个机灵鬼,很快从小Y嘴里套出了 $n$ 的值。然后在脑内把 $n$ 写成了 $a \times b$的形式。其中 $a, b$都是正整数。

小C是个八卦狂,他发现小D从小Y那里获知了神奇的东西,于是死缠烂打追问小D。最后小D说道:“我可以告诉你正整数 $g$ 和 $l$ 的值,我保证 $ab = gl = n$ 且 $a, b$ 都是 $g$的倍数。但是 $a, b$ 我可不能告诉你。”

这可急坏了小C。他决定退而求其次,找出$a + b$的最小值和最大值。请你帮帮他吧!

输入格式

第一行一个正整数 $T$,表示有 $T$ 组询问。

接下来 $T$ 行每行两个正整数 $g, l$ 表示一组询问。

输出格式

对于每个询问输出一行两个正整数,分别表示 $a + b$ 的最小值与最大值。保证问题有解。

C/C++ 输入输出 long long 时请用 %lld。C++ 可以直接使用 cin/cout 输入输出。

1
1 4
4 5

只有三组解:$\{a = 1, b = 4\}, \{a = 2, b = 2\}, \{a = 4, b = 1\}$。

1
2 8
8 10

限制与约定

测试点编号 $g, l$
1$\leq 10^3$
2
3
4$\leq 10^9$
5
6
7$\leq 10^{18}$
8
9
10

保证 $T \leq 5$。

时间限制:$1 \texttt{s}$

空间限制:$256 \texttt{MB}$

下载

样例数据下载