13 条题解

  • 1
    @ 2024-12-26 9:44:52

    本题最优时间复杂度为O(logN)

    Σi=1i2\Sigma_{i=1} {i^2} = n(n+1)(2n+1)/6

    结合二分可达到log级别复杂度

    AC代码

    #coding: utf-8
    n:int = int(input())
    def judge(x: int):
        return x*(x + 1)*(2 * x + 1) <= 6 * n
    left = 0
    right = n+1
    while (right - left > 1):
        mid = int((left + right) / 2)
        if (judge(mid)):
            left = mid
        else:
            right = mid
    print("%d\n" % (left))
    
    
    

    信息

    ID
    53
    时间
    1000ms
    内存
    128MiB
    难度
    4
    标签
    递交数
    1657
    已通过
    784
    上传者