8 条题解
-
0
看似很难,实则是一道水题。由 $b=\left\lfloor \frac{a}{n} \right\rfloor , c=\left\lfloor \frac{b}{m} \right\rfloor$,得$ c=\left\lfloor \frac{\left\lfloor \frac{a}{n} \right\rfloor}{m} \right\rfloor=\left\lfloor \frac{a}{nm} \right\rfloor$,
所以 。
再考虑其他无解:
如果 $\left\lfloor \frac{a}{\left\lfloor \frac{a}{c} \right\rfloor} \right\rfloor\gt c$,则找不到 。
证明:略
接下来考虑如何求解。
最简单的解是 。(当 时, 可以 )
故代码如下:
#include<bits/stdc++.h> using namespace std; //a/n/m=c signed main(){ long long t,a,b,c; scanf("%lld",&t); while(t--){ scanf("%lld%lld",&a,&c); if(a/c<1||a/(a/c)<=c)printf("-1\n"); else printf("%lld\n",c); } }
信息
- ID
- 14
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 2
- 标签
- 递交数
- 786
- 已通过
- 208
- 上传者