Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- typedef long long lli;
- const lli MX = cbrt(6e18);
- lli func(lli n){
- return (n * n * n + 5 * n) / 6;
- }
- int main(){
- int Q;
- scanf("%d", &Q);
- for(int q = 1; q <= Q; ++q){
- lli lim;
- scanf("%lld", &lim);
- lli mx = -MX;
- lli l = -MX;
- lli r = MX;
- while(l <= r){
- lli m = (l + r) / 2;
- if(func(m) <= lim){
- mx = max(mx, m);
- l = m + 1;
- } else {
- r = m - 1;
- }
- }
- cout << mx << '\n';
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment