「DROI」Round 2 构造与取模 题解
Demeanor_Roy · · 题解
- 出题人题解。
第一档暴力枚举,第二档枚举因数,这里就不详细阐述了,下面讲正解。
考虑这样一个结论:
- 对于任意正整数
x,y ,若x \leq y ,则有y \bmod x \leq \lfloor \frac{y-1}{2} \rfloor 。
证明的话分两种情况:
所以当给定的
至此这道题解决完毕,时间复杂度
#include<bits/stdc++.h>
using namespace std;
int T;
long long n,k;
int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%lld%lld",&n,&k);
if(k<=(n-1)>>1) printf("%lld %lld\n",k,n-k);
else printf("-1\n");
}
return 0;
}