题解 | 小红的优惠券

小红的优惠券

https://www.nowcoder.com/practice/e991a011f96444f3a6ad57943d39f4ad

while True:
    try:
        n, m = map(int, input().split())
        j_s = []
        for i in range(m):
            j = list(map(int, input().split()))
            if j[0] <= n:
                j_s.append(j)
        # 最优化的满减应该以需要减去的折扣进行从大到小,逆向排序
        j_s_sorted = sorted(j_s, key=lambda x: x[1], reverse=True)
        # print(j_s_sorted)
        if j_s_sorted:
            # 对应题目中的至多使用一张优惠券
            pay = n - j_s_sorted[0][1]
            if pay >= 0:
                print(min(n, pay))
            else:
                print(n)
        else:
            print(n)
    except Exception as e:
        break

全部评论

相关推荐

牛至超人:哈工大已经很棒了,不需要加括号了,然后咋没有实习经历呢?火速趁寒假整一段实习,导师不让就狠狠肘击
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务