博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【2020秋招笔试】人人-优惠券价格 - 或运算
阅读量:2226 次
发布时间:2019-05-09

本文共 663 字,大约阅读时间需要 2 分钟。

题目:

给n个商品的价格,然后给出优惠券满减的价格,求问可使用这张优惠券最低价格是多少。
商品总价超过优惠券价格的三倍,或者低于优惠券,返回 -1。

输入:(优惠券值m、商品个数n、n个商品的价格)

1000 4 555 500 450 460
输出:
1055

import sysline = sys.stdin.readline().strip()list_ = list(map(int, line.split()))m, n = list_[0], list_[1]nums = list_[2:]sum_ = sum(nums)dp = [0 for i in range(sum_ + 1)]if(sum_ < m):    print(-1)elif(sum_ == m):    print(m)else:    dp[0] = 1    for i in range(n):        for j in range(sum_, nums[i] - 1, -1):            dp[j] |= dp[j - nums[i]] '''有1出1,全0出0, 比if判断要快速'''    for i in range(m + 1, sum_ + 1):        if(i // m >= 3):            print(-1)            break        if(dp[i] == 1):            print(i)            break

转载地址:http://kzmfb.baihongyu.com/

你可能感兴趣的文章
Go语言学习Part4-1:方法和接口
查看>>
Leetcode Go 《精选TOP面试题》20200628 69.x的平方根
查看>>
leetcode 130. Surrounded Regions
查看>>
【Python】详解Python多线程Selenium跨浏览器测试
查看>>
Jmeter之参数化
查看>>
Shell 和Python的区别。
查看>>
【JMeter】1.9上考试jmeter测试调试
查看>>
【虫师】【selenium】参数化
查看>>
【Python练习】文件引用用户名密码登录系统
查看>>
学习网站汇总
查看>>
【Loadrunner】性能测试报告实战
查看>>
【自动化测试】自动化测试需要了解的的一些事情。
查看>>
【selenium】selenium ide的安装过程
查看>>
【手机自动化测试】monkey测试
查看>>
【英语】软件开发常用英语词汇
查看>>
Fiddler 抓包工具总结
查看>>
【雅思】雅思需要购买和准备的学习资料
查看>>
【雅思】雅思写作作业(1)
查看>>
【雅思】【大作文】【审题作业】关于同不同意的审题作业(重点)
查看>>
【Loadrunner】通过loadrunner录制时候有事件但是白页无法出来登录页怎么办?
查看>>