#LRX10. CSGO!
CSGO!
题目背景
大白老师的电脑里登录着老师自己的账号。每到周日的课间,老师就会把电脑拿出来,让同学们轮流上场打游戏。
可是随着开学的逼近,留给大家玩游戏的机会越来越少,现在就只剩下两节课可以玩。时间十分紧张,不能所有人都随便玩。为了老师账号的军衔等级,老师想要冲分,想要充分利用有限的课间时间,让老师的账号拿到尽可能高的总得分。
大白老师需要精心挑选上场的同学。每一位同学上场打一局,会消耗一定的课间时间,同时为老师的账号拿到一定分数。但是每个同学不能无限制上场,每个人都有最多可以上场的次数。
现在只剩 分钟总游戏时间。在总消耗时间不能超过 分钟的前提下,请你安排上场名单,冲击最高总得分。 游戏结束后还要选出 MVP:个人总贡献得分最高的同学(个人总贡献 = 实际上场次数 × 单次得分)。
数据保证不会出现并列情况。
题目描述
给定 位同学,总可用游戏时间 分钟。
每位同学给出四项信息:
姓名:上场同学的名字(不含空格)
一次时间:上场一局要消耗多少分钟
一次得分:打一局可以给老师账号拿到多少分数
最多上场次数:该同学最多能上场打多少局
规则:
一位同学可以不上场,或者上场若干局,但不能超过他的最多上场次数。 所有同学上场消耗的时间总和,不能超过总游戏时间 。 目标:帮助老师冲分,最大化老师账号的总得分。 在得到最优总得分的方案下,计算每个人的个人贡献,按格式输出 MVP。
输入格式
第一行两个整数 ,,代表同学人数、总游戏时间(分钟)。
接下来 行,每行四个数据:姓名 一次时间 一次得分 最多上场次数。
输出格式
第一行一个整数:可以获得的老师账号最大总得分。
第二行字符串格式:MVP:姓名
输入输出样例
3 20
zhangsan 5 10 2
lisi 4 7 3
wangwu 6 12 2
39
MVP:zhangsan
样例解释
样例说明
输入条件
- 总时间上限:20 分钟
- zhangsan:每局耗时5,单局得分10,最多上场2次
- lisi:每局耗时4,单局得分7,最多上场3次
- wangwu:每局耗时6,单局得分12,最多上场2次
最优方案
上场安排
zhangsan ×2,wangwu ×1,lisi ×1
计算
- 总时间:
- 总得分:$2 \times 10 + 1 \times 12 + 1 \times 7 = \boldsymbol{39}$
个人贡献(上场次数 × 单局得分)
- zhangsan:
- wangwu:
- lisi:
MVP
zhangsan
数据范围
≤ ≤
≤ ≤
≤ ≤
姓名为不含空格的英文字符串。
