P2240 【深基12.例1】部分背包问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
n, t = map(int,input().split())
data = []
for i in range(n):
data.append(list(map(int,input().split())))
data.sort(key=lambda x:x[1]/x[0],reverse=True)
price = 0
for i in range(n):
if t>=data[i][0]:
price += data[i][1]
t -= data[i][0]
else:
price += (t*(data[i][1]/data[i][0]))
break
print('%.2f' %price)