689C - Mike and Chocolate Thieves - CodeForces Solution


binary search combinatorics math *1700

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
#define int long long
#define pii pair<int,int>
#define N 100005
using namespace std;
vector<int>adj[N];
int fun(int n){
      int sum = 0;
      for(int r = 2; r<=cbrt(n); r++){
            sum += (n/(r*r*r));
      }
      return sum;
}
int32_t main(){
           int m;
           cin>>m;
           
           int res = -1;
           int low = 1;
           int high = 1e18;
           while(low<=high){
                 int mid = (low+high)/2;
                 if(fun(mid)==m)
                  {
                        res = mid;
                        high = mid-1;
                  }
                  else if(fun(mid) > m){
                        high = mid-1;
                  }
                  else
                        low = mid+1;
           }
           
           cout<<res<<endl;
        }
        
    
   // 1 + 1 + 2 + 4 + 8
  


Comments

Submit
0 Comments
More Questions

1426B - Symmetric Matrix
732B - Cormen --- The Best Friend Of a Man
1369A - FashionabLee
1474B - Different Divisors
1632B - Roof Construction
388A - Fox and Box Accumulation
451A - Game With Sticks
768A - Oath of the Night's Watch
156C - Cipher
545D - Queue
459B - Pashmak and Flowers
1538A - Stone Game
1454C - Sequence Transformation
165B - Burning Midnight Oil
17A - Noldbach problem
1350A - Orac and Factors
1373A - Donut Shops
26A - Almost Prime
1656E - Equal Tree Sums
1656B - Subtract Operation
1656A - Good Pairs
1367A - Short Substrings
87A - Trains
664A - Complicated GCD
1635D - Infinite Set
1462A - Favorite Sequence
1445B - Elimination
1656C - Make Equal With Mod
567A - Lineland Mail
1553A - Digits Sum