Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- using namespace std;
- int n;
- long long x[10005], k, tmp, sol;
- void binary_search( long long lo, long long hi ){
- long long mid;
- while( lo + 1 < hi ){
- mid = (lo + hi)/2;
- tmp = mid * mid * mid;
- if( tmp == k ){ sol = mid; break; }
- if( tmp > k ){ hi = mid; }
- if( tmp < k ){ lo = mid; }
- sol = lo;
- //printf( "%d %d %d\n",lo ,mid, hi );
- }
- }
- int main( void ){
- scanf( "%d", &n );
- for( int i = 0; i < n; ++i ){
- scanf( "%lld", &x[i] );
- k = x[i];
- if( k == 0 ){ printf( "0\n" ); }
- if( k == 1 ){ printf( "1\n" ); }
- if( k == 2 ){ printf( "1\n" ); }
- if( k == 3 ){ printf( "1\n" ); }
- binary_search( 0, k / 2 );
- if( k != 0 && k != 1 && k != 2 && k != 3 ) printf( "%lld\n", sol );
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment