#1198. [HNOI2006] 军机调度

[HNOI2006] 军机调度

题目描述

凯萨拥有一支由 nn 个人组成的雇佣军,他们靠在威尼斯商行接任务过活。这支军队的成份比较复杂,不同的人往往具有不同的技能,有的人还拥有多项技能。威尼斯商行的任务也参差不齐,有的需要几个人合作完成,有的只需要一个人独立完成:有的很简单,不需要耗多少时间,因此报酬也较低,有的很有难度,需要多个人长期合作完成,因此报酬就高。完成这些任务的时间不会超过一个月。并且,一个人不能同时执行两项任务,也不能中途加入或者退出任务。但可以不执行任何任务。一项只需要 nn 个人来完成的任务,如果执行该任务的人数 pp 大于 nn,那么反而会得到更少的报酬,即原报酬的 1/(pn+1)1/(p-n+1)

凯萨是一位英明的领袖,他往往在每个月的月底召开军事会议,总结上个月的成果,发给大家报酬,并指派下个月的任务。

请问,凯萨应该怎样指派任务,才能使总报酬最高?总报酬为多少?

输入格式

一行包含两个正整数 n,mn,m。彼此用空格隔开,其中 nn 表示雇佣军的人数,mm 表示下个月可选的任务数。

接下来的 nn 行中,第 ii 行(对应整个文件的第 i+1i+1 行)的第一个整数小于等于表示编号为 ii 的雇佣军可以执行的任务数,后面的整数是编号为 ii 的雇佣军可以执行的所有任务的编号,这些整数之间用空格隔开。

最后的 mm 行中,每行有四个整数 bbeepprr,彼此之间用空格隔开,其中第 jj 行(对应整个文件的第 n+j+1n+j+1 行)是编号为 jj 的任务的描述:bb 表示该任务的开始日(这一天会被计入任务所需的时间中),ee 表示该任务的结束日(这一天也会被计入任务所需的时间中),pp 表示该任务所需人数,rr 表示该任务的报酬。

输出格式

第一行只有一个整数 tt,表示最多可获得的总报酬。

3 5
2 1 4
2 2 4
3 3 4 5
2 20 1 100 
1 18 1 200 
3 28 1 800 
21 30 3 1500 
19 21 1 400 
1800

数据规模与约定

对于 100%100\% 的数据:

  • n<10n\lt 10m<15m\lt 15
  • 0<b<320\lt b \lt 320<e<320\lt e\lt 32p<10p\lt 100<r<1000000\lt r \lt100000