问题
Lena正在为一场重要的编码竞赛做准备,随后将进行一系列连续的初步竞赛。最初,她的运气平衡为0。她相信“可以节省运气”,并希望检验自己的理论。每个比赛用两个整数L[i]
和T[i]
来描述:
-
L[i]
是与比赛相关的运气。如果莉娜(Lena)赢得比赛,她的运气余额将减少L[i]
;如果她输了,她的运气余额将增加L[i]
。 -
T[i]
表示比赛的重要性等级。如果比赛很重要,则等于1
;如果不重要,则等于0
。
如果莉娜在重要的比赛中输掉的次数不超过k
,那么在参加所有预赛之后她能获得的最大运气是多少?此值可能为负。
请找到完整的说明here
我的努力
这是我为该问题编写的代码。我要添加所有不重要的问题,并将所有重要问题的运气价值存储在数组中。已排序数组。然后从允许她赢得的问题中获取所有最低限度的运气平衡,并将其减去并在其余的比赛中输掉运气。
代码
#!/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)
问题
但是,由于答案错误,此代码在测试用例#8 中失败。我的解决方案中是否有任何错误?