1990C - Mad MAD Sum - CodeForces Solution


brute force greedy math

Please click on ads to support us..

Python Code:

t=int(input())
result=[]
for _ in range(t):
    n=int(input())
    a=list(map(int,input().split()))
    if(n==1):
        result.append("1")
        continue
    my_set=set()
    sums=sum(a)
    max_sim=0
    my_set.add(a[0])
    b=[0]*n 
    count=1
    for i in a[1:]:
        if(i in my_set):
            max_sim=max(max_sim,i)
        else:
            my_set.add(i)
        b[count]=max_sim
        count+=1
    if(set(b)=={0}):
        result.append(str(sums))
        continue
    sums+=sum(b)
    my_set=set([b[0]])
    max_sim=0
    bro=[0]*n
    count=1
    for i in b[1:]:
        if(i in my_set):
            if(i>max_sim):
                max_sim=i
        else:
            my_set.add(i)
        bro[count]=max_sim
        count+=1
    if(set(bro)=={0}):
        result.append(str(sums))
        continue
    for i in range(n):
        if(bro[n-1-i]==0):
            break
        sums+=bro[n-1-i]*(i+1)
    result.append(str(sums))
    
    
print("\n".join(result))


Comments

Submit
0 Comments
More Questions

1428B - Belted Rooms
519B - A and B and Compilation Errors
1152B - Neko Performs Cat Furrier Transform
1411A - In-game Chat
119A - Epic Game
703A - Mishka and Game
1504C - Balance the Bits
988A - Diverse Team
1312B - Bogosort
1616B - Mirror in the String
1660C - Get an Even String
489B - BerSU Ball
977C - Less or Equal
1505C - Fibonacci Words
1660A - Vasya and Coins
1660E - Matrix and Shifts
1293B - JOE is on TV
1584A - Mathematical Addition
1660B - Vlad and Candies
1472C - Long Jumps
1293D - Aroma's Search
918A - Eleven
1237A - Balanced Rating Changes
1616A - Integer Diversity
1627B - Not Sitting
1663C - Pōja Verdon
1497A - Meximization
1633B - Minority
688B - Lovely Palindromes
66B - Petya and Countryside