455A - Boredom - CodeForces Solution


dp *1500

Please click on ads to support us..

Python Code:

n = int(input())
dp = [0]*(10**5+1)
count = [0]*(10**5+1)
inp = list(map(int, input().split()))
if(len(inp) == n):
    for g in inp:
        count[g] += 1
    dp[1] = 1*count[1]
    for i in range(2, 10**5+1):
        dp[i] = max(dp[i-1], dp[i-2]+i*count[i])
    print(max(dp))
else:
    print(0)


Comments

Submit
0 Comments
More Questions

960A - Check the string
1220A - Cards
897A - Scarborough Fair
1433B - Yet Another Bookshelf
1283B - Candies Division
1451B - Non-Substring Subsequence
1408B - Arrays Sum
1430A - Number of Apartments
1475A - Odd Divisor
1454B - Unique Bid Auction
978C - Letters
501B - Misha and Changing Handles
1496A - Split it
1666L - Labyrinth
1294B - Collecting Packages
1642B - Power Walking
1424M - Ancient Language
600C - Make Palindrome
1669D - Colorful Stamp
1669B - Triple
1669A - Division
1669H - Maximal AND
1669E - 2-Letter Strings
483A - Counterexample
3C - Tic-tac-toe
1669F - Eating Candies
1323B - Count Subrectangles
991C - Candies
1463A - Dungeon
1671D - Insert a Progression