#38. lxy 的学习计划

lxy 的学习计划

限制

  • 1000ms
  • 32MB

题目描述

已知 lxy 选了 N(1≤N≤500)N(1 \leq N \leq 500) 门课,每门课有学分 wiw_i ,劳累度 viv_i 和挂科概率 pip_i ;

其中,wiw_i 为 [1,5][1,5] 范围内的一个正整数,viv_i 是 int 范围内正整数, pip_i 是 [0,1][0,1]范围内小数;

现在 lxy 想退掉某些课使得自己的劳累度尽量小,但是,如果 lxy 的学分总数达不到给定的 MINXMINX,他会被退学。

lxy 想知道,在期望学分大于等于 MINXMINX 的情况下,他的最小劳累度是多少。

一门课的期望学分即为:通过概率 * 这门课的学分

注意:如果一门课挂科,lxy 将付出 viv_i 的劳累度但是无法获得相应学分;否则,lxy 将付出 viv_i 的劳累度并收获 wiw_i 的学分。

输入格式

第一行一个正整数 NN 表示课程数量

接下来 NN 行,每行空格分开的 33 个数 wi,viw_i,v_i 和 pip_i ,含义如题面所述

最后一行一个正整数 MINXMINX 表示所需最小学分。

输出格式

一行一个正整数表示最小劳累度。

数据范围

本题共 1010 个测试点,每个测试点 1010 分。

对于 10%10\% 的数据,1≤N≤101 \leq N \leq 10

对于 30%30\% 的数据,1≤N≤201 \leq N \leq 20

对于另外 20%20\% 的数据,pi=0p_i=0

对于 100%100\% 的数据,

1≤N≤5001 \leq N \leq 500 ,

wiw_i 是正整数且 1≤wi≤51 \leq wi \leq 5,

pip_i 最多包含 22 位小数且 0≤pi≤10 \leq pi \leq 1,

viv_i 是 int 范围内正整数.

保证全选的情况下 lxy 不会被退学。

样例输入

2
1 233 0
2 1 0.5
1

样例输出

1