镇上开了一家宝石店,喜欢收集宝石的凯凯来到此地收集宝石,
宝石店现有T种宝石,凯凯的手中有M元,第i种宝石的编号为si,数量为ni,单价为pi,重量为wi。
购买要求:
1.只能选择一种宝石购买;
2.选择一种宝石后必须将这一种宝石全部购买;
3.这一种宝石的总价值为ni*pi;
4.只有当这种宝石的总价值不多于M时才能购买;
凯凯想购买性价比最高的那一种宝石,也就是说他想买总价值最大且不多于M的那种宝石,所以他还有一个要求。
特殊要求:
5.假如两种商品总价值一样且都不多于M时购买“总质量”轻的
总质量的计算方法为wi*ni(切记:不要比较wi,因为数量可能不同)。
6.假如两种宝石总质量也一样,凯凯就会选择编号si比较小的宝石购买。
由于宝石店太大了,他没有充足的时间选择,所以请你帮助他编程实现选择,数据保证结果唯一且有解。
第一行,两个正整数,分别为M和T;
第二至第T+1行,每行四个正整数,第一个正整数为宝石的编号si,第二个正整数为宝石的数量ni,第三个正整数为宝石的单价pi,第四个正整数为宝石的重量wi。
【输入输出样例1解释】
编号为1的宝石的总价值为5*3=15元,15元比M(10元)大,凯凯无法购买编号为1的宝石。
编号为2的宝石总价值为4*2=8元,8元不比M大,凯凯可以购买编号为2的宝石。
编号为3的宝石的总价值为6*2=12元,15元比M(10元)大,凯凯无法购买编号为3的宝石。
综上所述,凯凯只能购买编号为2的宝石。
【输入输出样例2解释】
编号为1的宝石总价值为48元,编号为2的宝石总价值为48元,编号为3的宝石总价值为48元,编号为4的宝石总价值为48元,编号为5的宝石总价值为48元,编号为6的宝石总价值为48元,编号为7的宝石总价值为48元,7种宝石的总价值相等并且不多于M,且性价比一致。
编号为1的宝石总质量为100,编号为2的宝石总质量为96,编号为3的宝石总质量为99,编号为4的宝石总质量为96,编号为5的宝石总质量为96,编号为6的宝石总质量为104,编号为7的宝石总质量为120,编号为2、编号为4、编号为5的宝石总质量相等,编号2的编号最小。
综上所述,凯凯只能购买编号为2的宝石。
【输入输出样例3解释】
所有宝石的总价值、总质量均相等,而编号5的编号最小。
综上所述,凯凯只能购买编号为5的宝石。
【数据规模与约定】
10%的数据满足T<=50,并且每一种宝石的数量、单价、重量都相等,编号不同.
另有10%的数据,T<=100,并且每一种宝石的总价值相等.
另有20%的数据,编号由小到大给出.
80%的数据满足T<=10^5,M<=10^8,ni*pi<=10^9,ni*wi<=10^9,si<=10^7.
100%的数据满足T<=10^5,M<=10^100,ni*pi<=10^120,ni*wi<=10^120,
si<=10^200.