fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define int long long int
  4. bool isCorrect(int mid,int n,int k){
  5. // here we check mid^k<=n or not
  6. if(pow(mid,k)<=n)return true;
  7. else return false;
  8. }
  9. int32_t main(){
  10. int t;cin>>t;
  11. while(t--){
  12. int n;cin>>n;
  13. int k;cin>>k;
  14. int s=1,e=n;
  15. int ans;
  16. while(s<=e){
  17. int mid=(s+e)/2;
  18. if(isCorrect(mid,n,k)){
  19. s=mid+1;
  20. ans=mid;
  21. }
  22. else e=mid-1;
  23. }
  24. cout<<ans<<endl;
  25. }
  26. return 0;
  27. }
Success #stdin #stdout 0.01s 5456KB
stdin
2
10000 1
1000000000000000 10
stdout
10000
31