给出两个整数 nnn 和 mmm,请你找出两个整数 aaa 和 bbb,并且 aaa 和 bbb 需要同时满足以下条件:
其中,mod\text{mod}mod 代表计算两个数相除后的余数,例如 10 mod 3=1,4 mod 2=010\ \text{mod}\ 3=1, 4\ \text{mod}\ 2=010 mod 3=1,4 mod 2=0。
如果找不到合法的 aaa 和 bbb,输出 −1-1−1;否则请输出你找到的 aaa 和 bbb。如果有多个可行的答案,请输出任意一个。
第一行包含一个整数 T(1≤T≤2⋅105),表示测试用例的组数。 对于每组测试用例: 仅输入一行,包含两个整数 n,m (0≤n,m≤109)。
对于每组测试用例: 仅输出一行。如果找不到合法的 aaa 和 bbb,输出 −1-1−1;否则请输出两个整数 aaa 和 bbb。如果有多个可行的答案,请输出任意一个。
示例1
2 6 2 1 1
2 4 -1
由题意知:
a=b*k+m,b>m,k>=0
因为a+b=n,所以n=b*(k+1)+m
即n>2*m时有解
且我们a=m,b=n-m可为一组解
#include
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
int n,m;
cin>>n>>m;
if(n>2*m)
cout<