suraj021

cf233B

Sep 23rd, 2016
436
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.87 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. typedef long long ll;
  5. typedef pair< int, int > pii;
  6.  
  7. #define mod 1000000007
  8. #define pb push_back
  9.  
  10. int sum( long long n ){
  11.     int s= 0;
  12.  
  13.     while( n > 0 ){
  14.         int r= n%10;
  15.         n/= 10;
  16.         s+= r;
  17.     }
  18.  
  19.     cout << s << endl;
  20.  
  21.     return s;
  22. }
  23.  
  24. int main(){
  25.  
  26.     long long n;
  27.     long long l, h;
  28.     bool flag= false;
  29.  
  30.     cin >> n;
  31.  
  32.     l= 1;
  33.     h= sqrt( n );
  34.  
  35.     while( l <= h ){
  36.  
  37.         long long m= l + ( h-l )/2;
  38.  
  39.         long long r= 1ll*m*( m + sum( m ) );
  40.  
  41.         //cout << l << ' ' << h << ' ' << r << endl;
  42.  
  43.         if( r== n ){
  44.             flag= true;
  45.             cout << m << endl;
  46.             break;
  47.         }
  48.  
  49.         if( r < n )
  50.             l= m;
  51.         else
  52.             h= m;
  53.  
  54.     }
  55.  
  56.     if( !flag ){
  57.         cout << -1 << endl;
  58.     }
  59.  
  60.     return 0;
  61. }
Add Comment
Please, Sign In to add comment