解题思路
思路很简单:贪心算法。按农民牛奶单价排序,然后从最小的购入直到达到需求量。
解题过程
n, m=map(int,input().split())
money=0
data=[]
for _ in range(m):
a,b=map(int,input().split())
data.append([a,b])
if n == 0: # 特判需求为0的情况,直接输出0结束
print(0)
sys.exit()
def takefir(elem):
return elem[0]
data.sort(key=takefir)
for i in range(m):
if n-data[i][1]>=0:
n=n-data[i][1]
money=money+data[i][0]*data[i][1]
else:
money=money+data[i][0]*n
break
print(money)