1540. 采果子

时间限制 1000 ms   内存限制 128 MB

    Lyl今天心情不错,于是走到埃及郊外旅游(会不会碰到MMY?...PS:MMY的含义请自行理解)。他边走边向四周望望,发现周围有许多果树。这些树之间互相到达的时间Lyl是知道的(假定每两棵树之间都拥有独立的边可以到达)。他数出了这些果树上果子的个数,并且估了估每个的价格(真是个奇怪的人)。Lyl规定了一种采摘方案,就是对于第i棵树来说,它有a[i]个果子,且所有果子价值为s[i],摘取时间为c[i](小时)。并且,当他摘了第i个树上的果子后,后面他所选择去摘的果树上的果子数必须大于第i棵树上的果子数目,说白了就是一个上升序列;并且每到一棵树,他都必须摘下该树上的所有果子。一开始,Lyl可以在任意一棵树,他只有m小时,那么,在他所拥有的限定时间内,他想知道,这样摘取的最大价值是多少?

输入数据

第一行2个数:n(表示这条路上的大树数),m(总共时间)
接下来第n+1行,每行三个数a[i],s[i],c[i]&nbsp (第i+1行输入的为第i颗果树的信息)
且保证有1< =a[i]< =2^31-1;1< =s[1]+s[2]+…+s[n]< =2^31-1;s[i]> =0;&nbsp 1< =c[i]< =100
接下来的n行,每行n个数,第i行第j个数表示从树i到树j的时间。(0< =T[I,j]< =100;)

输出数据

仅有一个数,即按这样方法摘取的最大价值.

样例输入

复制
4 10
1 10 2
2 5 3
3 6 1
4 9 4
0 1 2 3
1 0 3 4
2 3 0 5
3 4 5 0
 ·  \n
 ·  · \n
 · · \n
 · · \n
 · · \n
 · · · \n
 · · · \n
 · · · \n
 · · · \n

样例输出

复制
21
  \n

样例说明

对于60%的数据&nbsp ,1< =N< =60,1< =m< =100;
对于100%的数据&nbsp ,1< =N< =100,&nbsp 1< =m< =1000.

提交

请先 登录

© 2024 FAQs Contact About