13073 - 1.3.1 Mixing Milk 混合牛奶

通过次数

18

提交次数

59

时间限制 : 1 秒
内存限制 : 128 MB

牛奶包装是一个利润极低的生意,因此控制原料(牛奶)的价格至关重要。请帮助快乐的牛奶制造公司(Merry Milk Makers)以最便宜的方式购买所需数量的牛奶。

该公司每天从若干农民手中购买牛奶,每个农民的牛奶价格可能不同,且每个农民每天只能提供有限数量的牛奶。公司每天需要一定量的牛奶,并且可以从每个农民处购买不超过其最大供应量的任意数量。

给定公司每日的牛奶需求量和每个农民的价格及供应量,请计算满足需求所需的最小总费用。

输入

第一行包含两个整数 NM

  • N(0 ≤ N ≤ 2,000,000):公司一天所需的牛奶总量(加仑)。
  • M(0 ≤ M ≤ 5,000):可提供牛奶的农民人数。

接下来 M 行,每行包含两个整数 PiAi

  • Pi(0 ≤ P_i ≤ 1,000):第 i 个农民的每加仑牛奶价格。
  • Ai(0 ≤ A_i ≤ 2,000,000):该农民一天最多能出售的牛奶量(加仑)。

数据保证所有农民的牛奶供应总量 ≥ N,即一定可以满足需求。

输出

输出一个整数,表示满足需求所需的最小总费用。

样例

输入

100  5 
5    20
9    40 
3    10
8    80
6    30

输出

630

提示

样例说明

  • 需求 100 加仑。
  • 农民价格及供应量:
    • 价格 3,供应 10
    • 价格 5,供应 20
    • 价格 6,供应 30
    • 价格 8,供应 80
    • 价格 9,供应 40
  • 最优购买策略:按价格从低到高购买:
    • 买 10 加仑(价格 3),费用 30
    • 再买 20 加仑(价格 5),费用 100
    • 再买 30 加仑(价格 6),费用 180
    • 还需 100 - 10 - 20 - 30 = 40 加仑,从价格 8 的农民处购买 40 加仑,费用 320
  • 总费用 = 30 + 100 + 180 + 320 = 630

数据范围与约定

  • 0 ≤ N ≤ 2,000,000
  • 0 ≤ M ≤ 5,000
  • 0 ≤ Pi ≤ 1,000
  • 0 ≤ Ai ≤ 2,000,000

来源

USACO