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:
Serega and Fun
More Reclamation
Enduring Exodus
Useful Decomposition
Adam and Tree
Giải Thuật Và Lập Trình - Lê Minh Hoàng
Little Artem and 2-SAT
Chip Game
Remainders Game
Intersection Point of Lines
Dungeons and Candies
Fish Weight
Color the Carpet
Gold Experience
EKG
Splitting the Uniqueness
Tablecity
Double Elimination
Balls and Boxes
Edge connectivity / Vertex connectivity
Context Advertising
Let Them Slide
Let's Play Osu!
Sprague-Grundy theorem
Dreamoon Likes Strings
Ramesses and Corner Inversion
Almost Same Distance
Hongcow Builds A Nation
Alex and a TV Show
Raffles
Dirty Deeds Done Dirt Cheap
Triangle