1738A - Glory Addicts - CodeForces Solution


greedy

Please click on ads to support us..

Python Code:

t = int(input())

for _ in range(t):
    n = int(input())
    skill = list(map(int, input().split()))
    damage = list(map(int, input().split()))

    zeros = sorted([d for s, d in zip(skill, damage) if s == 0], reverse=True)
    ones = sorted([d for s, d in zip(skill, damage) if s == 1], reverse=True)

    idx = min(len(zeros), len(ones))

    res = sum(2 * ones[:idx] + ones[idx:] + 2 * zeros[:idx] + zeros[idx:])

    if len(zeros) == len(ones):
        res -= min(damage)

    print(res)





Comments

Submit
0 Comments
More Questions

1299A - Anu Has a Function
1111A - Superhero Transformation
954A - Diagonal Walking
39F - Pacifist frogs
1451C - String Equality
386A - Second-Price Auction
1690E - Price Maximization
282B - Painting Eggs
440A - Forgotten Episode
233B - Non-square Equation
628B - New Skateboard
262B - Roma and Changing Signs
755C - PolandBall and Forest
456B - Fedya and Maths
376B - IOU
1623B - Game on Ranges
1118A - Water Buying
1462C - Unique Number
301A - Yaroslav and Sequence
38A - Army
38C - Blinds
1197A - DIY Wooden Ladder
1717D - Madoka and The Corruption Scheme
1296D - Fight with Monsters
729D - Sea Battle
788A - Functions again
1245B - Restricted RPS
1490D - Permutation Transformation
1087B - Div Times Mod
1213B - Bad Prices