- C++
- 2025-04-10 13:24:36 @
#include<bits/stdc++.h>
using namespace std;
long long d,s;
long long ans,k;
signed main(){
cin>>d>>s;
if(s%(d*d)!=0){
cout<<"-1";
exit(0);
}
k=s/(d*d),ans=-1;
for(long long m=1;m<=sqrt(k);m++){
if(k%m!=0) continue;
long long n=k/m;
if((n+m)%2==0&&(n-m)%2==0){
long long a=(n+m)/2,b=(n-m)/2;
if(__gcd(a,b)==1){
ans=max(ans,d*a);
}
}
}
cout<<ans;
return 0;
}
0 条评论
目前还没有评论...