Vanya got n cubes. He decided to build a pyramid from them. Vanya wants to build the pyramid as follows: the top level of the pyramid must consist of 1 cube, the second level must consist of 1 + 2 = 3 cubes, the third level must have 1 + 2 + 3 = 6 cubes, and so on. Thus, the i-th level of the pyramid must have 1 + 2 + … + (i - 1) + i cubes.
Vanya wants to know what is the maximum height of the pyramid that he can make using the given cubes.
Input
The first line contains integer n (1 ≤ n ≤ 104) — the number of cubes given to Vanya.
Output
Print the maximum possible height of the pyramid in the single line.
Examples
input
1
output
1
input
25
output
4
Note
Illustration to the second sample:

Solution:
#include <cstring>
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <memory.h>
#include <cassert>
using namespace std;
int main() {
int n;
scanf("%d", &n);
int x = 1;
int cur = 1;
while (n >= cur) {
n -= cur;
x++;
cur += x;
}
printf("%d\n", x - 1);
return 0;
}
Related posts:
King Escape
Happy Cactus
Coffee Varieties (hard version)
Hiking
Convex hull trick and Li Chao tree
Infinite Path
Property
Professor GukiZ and Two Arrays
Suffix Automaton
New Year and Domino
Mateusz and an Infinite Sequence
Tennis Rackets
Lazy Security Guard
Tanya and Password
Nastya and Unexpected Guest
Gray code
Kuroni and Impossible Calculation
Ordering Pizza
2 - SAT
Finding the rank of a matrix
Little Artem and Random Variable
Parity Game
Fenwick Tree
Cookie Clicker
Kuroni and the Punishment
Balanced Ternary
Dynamic Programming on Broken Profile
Paint it really, really dark gray
Hongcow's Game
Pokermon League challenge
Slime and Biscuits
Lowest Common Ancestor - Farach-Colton and Bender Algorithm