>  기사  >  웹 프론트엔드  >  Codeforces Round #280 (Div. 2)-A. Vanya and Cubes_html/css_WEB-ITnose

Codeforces Round #280 (Div. 2)-A. Vanya and Cubes_html/css_WEB-ITnose

WBOY
WBOY원래의
2016-06-24 11:53:071098검색

Vanya and Cubes

time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

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.

Sample test(s)

input

output

input

25

output

Note

Illustration to the second sample:








题意:最高层有1个 cube, 第二层有1?+?2?=?3 个cubes, 第三层有1?+?2?+?3?=?6 个 cubes, 依次递增. 然而, 第i层必须有 1?+?2?+?...?+?(i?-?1)?+?i 个 cubes.给一个n,问n个cube最多可以构成多少层。


分析;水题,直接找规律的题。看了一眼,感觉太水,就没敢暴力。。。瞬间想起了以前跟tourist学的一个方法,把个n的区间,都预处理成最高层数,然后查询就是O(1)的了。可惜了,边玩边水,硬是水了一个小时。。。最后看别人的代码,直接暴力也不超时。只能说,数据太弱了。




AC代码:

#include <cstdio>#include <algorithm>using namespace std;int a[10005];int main(){//  freopen("in.txt", "r", stdin);    int foo = 0;    int sum = 0;    for(int i=1; ; i++){        int t = foo;        if(sum > 10000) break;        foo += i;        for(int j=0; j<foo sum j a i-1 foo int n while printf return>  <br>  <br>  <p></p>  <p><br> </p>  <p>切记,下次不能在水题上浪费时间了。。。</p>  <p><br> </p>  <p><br> </p> </foo></algorithm></cstdio>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.