P0407

[NOI2008] 志愿者招募

[NOI2008] 志愿者招募

[NOI2008] 志愿者招募

申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管。刚上任就遇到了一个难题:为即将启动的奥运新项目招募一批短期志愿者。

经过估算,这个项目需要 nn 天才能完成,其中第 ii 天至少需要 aia_i 个人。布布通过了解得知,一共有 mm 类志愿者可以招募:第 ii 类志愿者可以从第 sis_i 天工作到第 tit_i 天,招募费用是每人 cic_i 元。每类志愿者的数量都可以认为是无限多的。

新官上任三把火,布布希望用尽量少的费用招募到足够的志愿者,使得每一天在岗的志愿者人数都不少于当天的需求。但这并不是他的特长,于是他找到了你,希望你帮他设计一种最优的招募方案。

输入格式

第一行包含两个整数 n,mn, m,分别表示完成项目所需的天数和可以招募的志愿者种类数。

第二行包含 nn 个非负整数 a1,a2,…,ana_1, a_2, \ldots, a_n,其中 aia_i 表示第 ii 天至少需要的志愿者人数。

接下来 mm 行,第 ii 行包含三个整数 si,ti,cis_i, t_i, c_i,含义如上文所述。

输出格式

输出一行一个整数,表示最优方案的总费用。

样例输入

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

样例输出

14

样例解释

三天的需求依次为 2,3,42, 3, 4,可招募的三类志愿者为:

类别工作区间单人费用
11[1,2][1, 2]22
22[2,3][2, 3]55
33[3,3][3, 3]22

招募第 11 类 33 人、第 33 类 44 人,则三天在岗人数依次为 3,3,43, 3, 4,均满足需求,总费用为 3×2+4×2=143\times 2 + 4\times 2 = 14,可以证明这是最小值。

数据范围

对于所有测试数据:

  • 1≤n≤10001\le n\le 1000;
  • 1≤m≤1041\le m\le 10^4;
  • 1≤si≤ti≤n1\le s_i\le t_i\le n;
  • 其余所有输入数据均不超过 231−12^{31}-1。

来源与许可

本题为 CCF NOI 2008 试题「志愿者招募」,题面与测试数据整理自 BZOJ 1061。

样例 1

输入

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

输出

14