I tried to go long long int for every variable due to the limit.
Can you tell me what’s wrong with me code even tho it’s looks fine to me.
#include
using namespace std;
auto kth_root(long long int n, long long int k){
long long int s=0;
long long int e=n;
long long int soln=-1;
while (s<=e){
long long int mid=(s+e)/2;
long long int ans=mid;
long long int times=k;
while (times>1){
ans*=mid;
times--;
}
if(ans==n){
return mid;
}
else if(ans>n){
e=mid-1;
}
else if(ans<n){
soln=mid;
s=mid+1;
}
}
return soln;
}
int main(){
long long int t;
cin>>t;
for (int i=0;i<t;i++){
long long int n,k;
cin>>n>>k;
cout<<kth_root(n,k)<<endl;
}
return 0;
}