1035 : Ares的游戏

时间限制:1 Sec 内存限制:256 MiB 提交:113 正确:3

提交 状态 论坛

题目描述

Ares喜欢玩王者农药,但她玩射手时总是打不动坦克,经过查找资料,她发现王者农药等MOBA游戏的免伤与穿甲机制是这样的:

假设你的攻击为A,百分比穿甲为P1,固定穿甲为P2,目标护甲为D,
则目标实际护甲为D'=D*(1-P1)-P2(D'最低为0).你对目标进行一次攻击,目标受到的伤害为A*(1-D'/(D'+100));
(计算过程中间结果视为浮点值,最后的伤害向下取整)

现给出n件装备的价格和属性以及目标的血量和护甲;
有m次询问,每个询问给出Ares买装备可用的金钱;
聪明的你,请写个程序帮助Ares计算,是否可以适当购买装备,使她可以一次攻击击杀敌方英雄.

P.S.
Ares的初始属性均为0.
多件装备的属性直接相加.
每一次询问中,每件装备最多购买一次.

输入描述

第一行四个整数n,m,h,d,分别代表装备数量,询问次数,目标血量和护甲.
(0<n<=2000,0<m<=1e5,0<=h<=10^6,0<=d<=10^6)

接下来n行,每行四个c,a,p1,p2,分别代表装备的价格,攻击,百分比穿甲(单位:1%)和固定穿甲.
(0<c<=10^6,0<=a<=10^6,0<=p1<=100,0<=a<=10^6)

之后m行,每行一个非负整数w,代表每次Ares可以用的金钱.
(0<=w<=20000);

输出描述

m行,如果Ares可以击杀敌方英雄,输出"Yes",否则输出"No".

样例输入

3 2 100 100
20 30 20 15
30 50 10 10
50 40 30 5
50
100

样例输出

No
Yes

来源

风竹曦