P1069

[Usaco2010 Jan]Buying Feed, II

[Usaco2010 Jan]Buying Feed, II

农夫约翰需要购买至少 KK 磅饲料,并将其运送到目的地。

整个城市可以看作数轴上从 00 到 EE 的一段。农夫约翰从位置 00 出发,只能沿数轴正方向行驶,最终到达位置 EE。如果他的车上装有 WW 磅饲料,那么行驶 DD 英里需要花费 D×WD\times W 美分。

沿途共有 NN 家商店,编号为 11 到 NN。第 ii 家商店位于位置 XiX_i,最多可以出售 FiF_i 磅饲料,每磅饲料的价格为 CiC_i 美分。同一位置可能有多家商店。农夫约翰可以在经过商店时购买不超过该商店库存的任意数量饲料。

请计算农夫约翰到达位置 EE 且购买了至少 KK 磅饲料时,购买和运输饲料所需的最小总费用。保证存在可行方案。

输入格式

第一行包含三个整数 K,E,NK,E,N,分别表示需要购买的饲料数量、目的地的位置和商店数量。

接下来 NN 行,每行包含三个整数 Xi,Fi,CiX_i,F_i,C_i,分别表示第 ii 家商店的位置、库存量和每磅饲料的价格。

输出格式

输出一个整数,表示购买和运输饲料所需的最小总费用,单位为美分。

样例输入

2 5 3
3 1 2
4 1 2
1 1 1

样例输出

7

样例解释

最优方案是在位置 33 和位置 44 的商店各购买 11 磅饲料,购买费用为 2+2=42+2=4 美分。

从位置 33 行驶到位置 44 时,车上有 11 磅饲料,运输费用为 1×1=11\times 1=1 美分;从位置 44 行驶到位置 55 时,车上有 22 磅饲料,运输费用为 1×2=21\times 2=2 美分。

因此最小总费用为 4+1+2=74+1+2=7 美分。

数据范围

  • 1≤K≤1001\le K\le 100;
  • 1≤E≤3501\le E\le 350;
  • 1≤N≤1001\le N\le 100;
  • 0<Xi<E0<X_i<E;
  • 1≤Fi≤1001\le F_i\le 100;
  • 1≤Ci≤1061\le C_i\le 10^6;
  • 同一位置可能有多家商店;
  • 保证存在可行方案。

来源与许可

本题为 USACO 2010 January 试题「Buying Feed, II」,题面与测试数据整理自 BZOJ。

样例 1

输入

2 5 3
3 1 2
4 1 2
1 1 1

输出

7