#P12519. 「MSTOI-R1」热开水

「MSTOI-R1」热开水

背景

小 M 最近在玩一款新游戏,rksrks 是这款游戏中评判玩家实力的数值。rksrks 分为单曲 rksrks 和总 rksrks,它们都是两位小数。

游玩一首曲子后,会获得一个评分 accacc(即准度),以百分比的形式表现。

题目描述

每首曲子都有一个难度定数。当一个曲的 acc≥70%acc\ge 70\% 时,这个曲才会计算 rksrks,否则该曲 rksrks 为 00。单曲 rks=[(100×acc−55)45]2×rks=[\frac{(100\times acc-55)}{45}]^2\times 难度定数 。

如果一个曲你游玩了多次,那么这个曲的单曲 rksrks 会保留最高的一次。总 rks=rks= 最大的 44 个单曲 rksrks 和 accacc 为 100%100\% 的曲里面最大的单曲 rksrks(如果没有 accacc 为 100%100\% 的曲子则将这一项的值视为 00)这 55 个单曲 rksrks 的平均值。

为了方便表示和计算,单曲 rksrks 和总 rksrks 都应保留 22 位小数(非四舍五入)。

小 M 有 nn 首曲子可以玩,对于第 ii 首曲子,难度定数为 cic_i,小 M 第 11 天玩的 accacc 可以达到 ai%a_i\%,第 kk 天可以达到 min(100%,ai%+(k−1)×bi%)min(100\%,a_i\%+(k-1)\times b_i\%)。小 M 每天都会游玩这 nn 首曲子,请问小 M 最早在第几天总 rksrks 可以 ≥m\ge m。

输入格式

第一行输入一个正整数 nn 和一个小数 mm。

接下来 nn 行,每行输入三个小数 aia_i,bib_i,cic_i。

接下来一行输入 55 个小数 did_i,前 44 个是小 M 最大的 44 个单曲 rksrks,最后一个是小 M accacc 为 100%100\% 的曲里面最大的单曲 rksrks。请注意,这 55 个单曲 rksrks 所属的歌曲全部都不是上面所输入的 nn 首,另外,你可以将它们视为小 M 在第 00 天的成绩。

输出格式

一行输出一个整数,表示小 M 最早在第几天总 rksrks 可以 ≥m\ge m。如果不能做到,请输出 -1。

3 8.31
70.00 10.00 9.50
60.00 40.00 9.00
50.00 10.00 9.10
8.00 0.00 9.00 8.00 9.00
2
3 11.00
70.00 10.00 9.50
100.00 10.00 9.00
50.00 10.00 9.10
15.10 15.10 15.10 15.10 15.10
0

提示

数据保证输入的小数都是两位小数。注意计算过程中的所有小数您都应该保留两位小数(非四舍五入)(例如包括计算单曲 rksrks 时 ÷45\div 45 之后,也要保留 22 位小数再继续计算),否则可能会与答案存在偏差。

建议您使用下面这段代码进行保留两位小数:

double retain2(double x)
{
	int y;
	double z;
	x*=100;
	y=x;
	z=y/100.0;
	return z;
}

对于 100%100\% 的数据,1≤n≤1051\le n\le10^5,0≤m≤170\le m\le17,0≤ai≤1000\le a_i\le100,0.01≤bi≤1000.01\le b_i\le100,1≤ci≤171\le c_i\le17,0≤di≤170\le d_i\le17。

测试点 特殊性质
1∼31\sim3 n≤100n\le100
44 m=0m=0
55 di=0d_i=0
6∼106\sim10 n≤103n\le10^3
11∼1511\sim15 n≤104n\le10^4
16∼2016\sim20 无