hdu1399Starship Hakodate-maru

来源:互联网 发布:uiautomator2.0源码 编辑:程序博客网 时间:2024/06/04 17:51

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1399

这道题普通的双层循环15MS


代码:

#include <cstdio>int a[200];int b[200];int n;int ans ;int a_len,b_len;void init(){    for(int i = 0; i < 54; ++i)        a[i] = i * i * i;    for(int i = 0; i <= 95; ++i)        b[i] = i * (i + 1) * (i + 2) / 6;}int main(){    init();    while(~scanf("%d",&n) && n)    {        ans = 0;        for(int i = 0; i <= 53; ++i)            if(n < a[i])            {                a_len = i - 1;                break;            }            else if(i == 53 && a[i] < n)                a_len = 53;        for(int i = 0; i <= 95; ++i)        {            if(n < b[i])            {                b_len = i - 1;                break;            }            else if(i == 95 && b[i] < n)                b_len = 95;        }        for(int i = a_len;i >= 0;--i)        {            for(int j = b_len;j >= 0;--j)            {                if(a[i] + b[j] <= n && a[i] + b[j] > ans)                    ans = a[i] + b[j];            }        }        printf("%d\n",ans);    }    return 0;}




0 0