只有第一个过了其他全是wa,大佬们能帮忙看看吗,python解法
查看原帖
只有第一个过了其他全是wa,大佬们能帮忙看看吗,python解法
376855
艾则麦提楼主2021/7/18 21:56
n, t = map(int, input().split())
m = []
v = []
for i in range(n):
    num1, num2 = map(int, input().split())
    m.append(num1)
    v.append(num2)
eachValueList = []
for i in range(n):
    eachValueList.append(v[i]/m[i])
for i in range(n - 1):
    for j in range(i, n - 1):
        if eachValueList[j + 1] > eachValueList[j]:
            eachValueList[j+1], eachValueList[j] = eachValueList[j], eachValueList[j+1]
            m[j+1], m[j] = m[j], m[j+1]
            v[j+1], v[j] = v[j], v[j+1]
totalGold = 0
index = 0
while t > 0 and index < n:
    if t - m[index] >= 0:
        totalGold += v[index]
        t -= m[index]
        index += 1
    else:
        totalGold += t * eachValueList[index]
        break
print('%.2f'%totalGold)
2021/7/18 21:56
加载中...