题目链接:C-A加B,A模B_牛客小白月赛76 (nowcoder.com)
a mod b = m 说明 a 的值至少是 m ,于是 b 的值至多是 n - m 。如果n - m <= m 则式子 2 的取模操作不可能成立;否则 a = m, b = n - m必然是一组可行解
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define qwq ios::sync_with_stdio(0), cin.tie(0), cout.tie(0)
const int N = 200010, M = 200010, INF = 0x3f3f3f3f;
void solve() {
int n, m;
cin >> n >> m;
//a mod b = m 说明 a > m ,于是 b 的值至多是 n - m
if (n - m <= m) // 若 n - m <= m 则式子 2 的取模操作不可能成立
cout << -1 << endl;
else // 否则 a = m, b = n - m必然是一组可行解
cout << m << ' ' << n - m << endl;
}
int main(){
qwq; int T = 1;
cin >> T;
while (T -- )
solve();
return 0;
}