题解 | Boredom

Boredom

https://www.nowcoder.com/practice/8aa58d11c39e4f81911f5f9ebc687d12

fmin = lambda x, y: x if x < y else y
fmax = lambda x, y: x if x > y else y

def solve(testcase):
    n = II()
    A = LII()

    B = [0 for _ in range(100010)]

    for a in A:
        B[a] += a
    
    dp = [0 for _ in range(100010)]

    for i in range(100010):
        dp[i] = dp[i - 1]
        if B[i - 1]:
            dp[i] = fmax(dp[i], dp[i - 2] + B[i - 1])
    
    print(dp[-1])

for testcase in range(1):
    solve(testcase)

全部评论

相关推荐

评论
3
收藏
分享

创作者周榜

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