UVALive-7500-Boxes and Balls

ACM模版

描述


题解

签到题,二分即可。

代码

#include <iostream>
#include <cstdio>

using namespace std;

typedef long long ll;

ll n;

int main()
{
    int T;
    cin >> T;

    for (int ce = 1; ce <= T; ce++)
    {
        scanf("%lld", &n);

        ll l = 0, r = 2e9, m, sum, ans = 0;
        while (l <= r)
        {
            m = (l + r) >> 1;
            sum = (1 + m) * m / 2;
            if (sum <= n)
            {
                ans = sum;
                l = m + 1;
            }
            else
            {
                r = m - 1;
            }
        }

        printf("Case #%d: %lld\n", ce, ans);
    }

    return 0;
}
全部评论

相关推荐

11-13 12:02
门头沟学院 Java
这个名称和你无缘:好骂,好骂 别学计算机就行了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务