sqrtl是个好东西(
by ttcwws @ 2022-03-26 22:34:09
hack:
```
500000
998244353 996491788296388609
998244353 996491788296388609
998244353 996491788296388609
...
998244353 996491788296388609
```
by heaksicn @ 2022-03-26 22:34:25
用`sqrtl`就行了(
by fzj2007 @ 2022-03-26 22:34:48
而且我觉得时间上面也可以加强一下,因为我的骗分的代码过了(可是考场有地方没有转long long变成40分/kk)
提交记录:[](https://www.luogu.com.cn/record/72439148)
by A_zjzj @ 2022-03-26 22:34:48
可以卡掉ylmylm的代码。
by heaksicn @ 2022-03-26 22:34:51
[这里](https://www.luogu.com.cn/record/72439148)
by A_zjzj @ 2022-03-26 22:35:18
@[heaksicnhhhylm](/user/343251) 太单一了,判重能过
生成器:
```
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
srand(time(0));//我一般用c++11<random>
cout<<100000<<endl;
for(int i=1000000000;i>999950000;i--)cout<<i<<' '<<i*i<<endl<<i<<' '<<i*i-rand()%i<<endl;
}
```
by cleverxia @ 2022-03-26 23:06:23
@[heaksicnhhhylm](/user/343251) 你这本来就是 `-1`, 就算它搞成 $.999999$ 也无所谓啊.
by 比利♂海灵顿 @ 2022-03-27 08:30:03
hack
8 32
输出
2
by qijt @ 2022-03-28 13:10:26
严重怀疑民间数据有问题,按照官方题解思路做,民间数据wa了??????
```cpp
#include <cstdio>
#include <cmath>
long long T,x,z,d,y;
long long gcd(long long x, long long y) {
if (x%y==0) return y;
else return gcd(y, x%y);
}
int main(){
scanf("%lld",&T);
while(T--){
scanf("%lld%lld",&x,&z);
if(z % x){
printf("-1\n");
continue;
}
d=sqrt(gcd(x*x,z/x)),y=z/x/d;
if (gcd(x, y)==d){
printf("%lld\n",y);
} else {
printf("-1\n");
}
}
return 0;
}
```
by ColinKIA @ 2022-04-01 22:48:44