超级闪光牛可乐(牛客网)

牛客小白月赛之超级闪光牛可乐

链接:登录—专业IT笔试面试备考平台_牛客网

来源:牛客网

题目描述:

  • 森林中出现了野生的超级闪光牛可乐!想要捕捉它,你至少需要投喂 x 点诱惑力的食物。幸运的是,清楚姐姐在知道了这件事后,非常大气的为你开放了她的豪华零食仓库——仓库里有 n种不同名称的食物,第 i 种食物能提供 wi​ 点的诱惑力。当你所投喂食物的诱惑力之和不小于 x 时,就可以顺利的捕捉到它。

              现在,你可以从仓库中取走一些食物了,不管怎么说,今天的目标只有一个,那就是拿下超级闪光牛可乐!

输入输出描述:

  • 每个测试文件仅有一组测试数据。第一行输入一个整数 x (1 ≤ x ≤ 1000) 表示至少需要多少诱惑力的食物才能捕捉这一只超级闪光牛可乐。第二行输入一个整数 n (1 ≤ n ≤ 26) 表示清楚姐姐豪华零食仓库中的零食种类数量。随后 n 行,每行输入一个小写字母 ch 和一个整数 w ( ′ a ′ ≤ c h ≤ ′ z ′ , 1 ≤ w ≤ 500) ,表示第 i 种零食的名称以及提供的诱惑力。保证零食的名称不重复;使用单个空格间隔。

  • 你需要在一行上输出一个由小写字母组成的答案字符串,代表你要喂给超级闪光牛可乐的食物。但是请注意,喂食的零食数量不能超过 1000 个,否则牛可乐会因为吃不下而直接离开。清楚姐姐仓库中没有的零食种类提供的诱惑力会被视为 0 。如果无法捕获牛可乐,仅需输出一行 −1 。

解题:

大家首先一定要多读几遍题目,把题目搞懂,不难看出,捕捉到牛可乐的方案可能不唯一,由于1000是上限,为了方便解题过程,我们只要找到诱惑力最大的食物,投喂1000个,此时若能捕捉到就捕捉到了,若不能,则只能输出-1了。

代码如下:

x = int(input())
n = int(input())
d = {}
maxkey = ''
maxvalue = 0
for ni in range(n):
    di,dj = map(str,input().split())
    d[di] = int(dj)
for key,value in d.items():
    if (value==max(d.values())):
        maxkey = key
        maxvalue = value
if maxvalue*1000>=x:
    print(maxkey*1000)
else:
    print(-1)

                
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值