51,712
社区成员




代码如下:
import sys
n, m = map(int, input().split())
lst = []
for i in range(m):
a, b = map(int, input().split())
lst.append([a, b])
if n == 0: # 特判需求为0的情况,直接输出0结束
print(0)
sys.exit()
lst.sort(key=lambda x: x[0]) # 小排序一下,后面写起来方便些
i = money =0
while n:
if n > lst[i][-1]: # 剩余需求量大于奶农最大产量情况,则直接拉满
money += lst[i][-1] * lst[i][0]
n -= lst[i][-1]
else: # 剩余需求量小于奶农最大产量情况
money += n * lst[i][0]
break
i += 1
print(money)