Итак, вот код, который я написал для вопроса. Я добавляю все не важные вопросы и сохраняю значение удачи всех важных вопросов в массиве. Сортировали массив. Затем взяла все минимальные остатки удачи из вопросов, которые ей позволено выиграть, вычла их и добавила удачу от остальной части состязания, которое она проиграла.
#!/bin/python3
import math
import os
import random
import re
import sys
# Complete the luckBalance function below.
nk = input().split()
n = int(nk[0])
k = int(nk[1])
contests = []
maximumLuckBalance = 0
for i in range(n):
luckcontestRating = input().split()
luck = int(luckcontestRating[0])
contestRating = int(luckcontestRating[1])
#print("Contest[",i+1, "]:" + "luck: ", luck, "Contest Imp: ", contestRating)
if contestRating == 0:
maximumLuckBalance += luck
else:
contests.append(luck)
contests.sort()
#print(contests)
winAllowed = len(contests) - k
#print(winAllowed)
winningLucksum = sum(contests[:winAllowed])
#print(winningLucksum)
loosingLucksum = sum(contests[winAllowed:])
maximumLuckBalance = maximumLuckBalance - winningLucksum + loosingLucksum
print(maximumLuckBalance)