# 「DROI」Round 2 构造与取模 ## 题目背景 与其编写苍白无力的背景,不如出更有质量的题。 ## 题目描述 对于整数 $n,k$,若存在**非负整数** $x$ 与 **正整数** $y$ 满足: $$x + y = n\ \land\ x \bmod y =k$$ 则我们称有序数对 $(x,y)$ 是 $n$ 的一个 **优秀拆分**(其中 $\land$ 是**并且**的意思)。 现给定非负整数 $n,k$,请你构造**任意**一组 $n$ 的优秀拆分,并分别输出你构造方
时间: 2023-07-29 09:12:14 浏览: 103
```cpp
#include <iostream>
using namespace std;
int main() {
int T;
cin >> T;
while (T--) {
long long n, k;
cin >> n >> k;
if (k > n) {
cout << "-1" << endl;
} else if (n == 0) {
if (k == 0) {
cout << "0 0" << endl;
} else {
cout << "-1" << endl;
}
} else if (n % (k + 1) == 0) {
cout << n / (k + 1) * k << " " << n / (k + 1) << endl;
} else {
cout << n % (k + 1) << " " << n / (k + 1) << endl;
}
}
return 0;
}
```
时间复杂度
对于每组数据,时间复杂度为 $O(1)$。因此总时间复杂度为 $O(T)$。