P0805

[cqoi2012]模拟工厂

[cqoi2012]模拟工厂

有一个名为“模拟工厂”的游戏。在时刻 00,工厂的生产力为 11。在每个时刻,你可以选择提高生产力或生产商品:

  • 如果选择提高生产力,那么在下一个时刻,工厂的生产力增加 11;
  • 如果选择生产商品,那么在下一个时刻,你拥有的商品数量增加 pp,其中 pp 是当前时刻工厂的生产力。

游戏中有 nn 个订单,你可以选择接受或不接受。第 ii 个订单 (ti,gi,mi)(t_i,g_i,m_i) 要求你在时刻 tit_i 向买家提供 gig_i 个商品。交易完成后,你拥有的商品数量减少 gig_i,收入增加 mim_i 元。

如果接受第 ii 个订单,就必须恰好在时刻 tit_i 完成交易,不能提前或推迟。同一时刻可以接受多个订单,但每个订单最多只能接受一次。

请制定合适的生产与接单策略,使最终的总收入最大。

例如,有两个订单 (5,1,8)(5,1,8) 和 (7,15,3)(7,15,3)。一种最优策略如下:在时刻 00、11、22 提高生产力,使时刻 33 的生产力达到 44;随后在时刻 33、44 生产商品,到时刻 55 时共有 88 个商品。此时接受第 11 个订单,剩余 77 个商品;再在时刻 55、66 生产商品,到时刻 77 时共有 7+4+4=157+4+4=15 个商品,恰好可以完成第 22 个订单。

输入格式

第一行包含一个整数 nn,表示订单数量。

接下来 nn 行,每行包含三个整数 tit_i、gig_i、mim_i,表示第 ii 个订单要求在时刻 tit_i 提供 gig_i 个商品,完成后可获得 mim_i 元收入。

输出格式

输出一行一个整数,表示可以获得的最大总收入。

答案保证在 3232 位有符号整数范围内。

样例输入

2
5 1 8
7 15 3

样例输出

11

数据范围

  • 对于编号为 1∼31\sim 3 的测试点,n≤5n\le 5,ti≤100t_i\le 100,gi≤104g_i\le 10^4,mi≤104m_i\le 10^4;
  • 对于编号为 4∼64\sim 6 的测试点,n≤10n\le 10,ti≤100t_i\le 100,gi≤104g_i\le 10^4,mi≤104m_i\le 10^4;
  • 对于编号为 7∼107\sim 10 的测试点,n≤15n\le 15,ti≤105t_i\le 10^5,gi≤109g_i\le 10^9,mi≤109m_i\le 10^9。

来源与许可

本题为 CQOI 2012 试题「模拟工厂」,题面与测试数据整理自 BZOJ 2667。

样例 1

输入

2
5 1 8
7 15 3

输出

11