有N块木板从左到右排成一行,有M个工匠对这些木板进行粉刷,每块木板至多被粉刷一次。 第 i 个木匠要么不粉刷,要么粉刷包含木板 SiS_iSi 的,长度不超过 LiL_iLi 的连续的一段木板,每粉刷一块可以得到 PiP_iPi 的报酬。 不同工匠的SiS_iSi不同。 请问如何安排能使工匠们获得的总报酬最多。 输入格式 第一行包含两个整数N和M。 接下来M行,每行包含三个整数Li,Pi,SiL_i,P_i,S_iLi,Pi,Si。 输出格式 输出一个整数,表示结果。 数据范围 1≤N≤160001 \le N \le 160001≤N≤16000, 1≤M≤1001 \le M \le 1001≤M≤100, 1≤Pi≤100001 \le P_i \le 100001≤Pi≤10000 输入样例: 文本复制8 4 3 2 2 3 2 3 3 3 5 1 1 7 输出样例: 文本复制17 来源 《算法竞赛进阶指南》 acwing 可能含有视频讲解