nkrq-4315 购买糖果

这篇博客探讨了一个关于购买糖果的问题,其中涉及到利用优惠券以最优价格购买糖果的策略。博主通过分析提出,这是一道贪心算法题目,但需要考虑优惠券的因素。他们提出将糖果按优惠价排序,然后利用优先队列存储优惠差价,并在循环中比较使用优惠价或原价的最优选择。最后给出了实现该策略的代码和注释。
摘要由CSDN通过智能技术生成

问题描述

        有N 块糖果,每块糖果的价格是a[i]元。
        总共M 元,以及K 张优惠券。
        对于每块糖果,如果使用一张优惠券,则可以以b[i]的优惠价格购买。
        注意每块糖果只能使用一张优惠券,只能购买一次。
        最多可以购买几块糖果?

输入格式

        第一行三个整数N, K, M
        接下来N 行,每行两个整数,表示a[i]和b [i]。

输出格式

        一个整数表示答案。

样例输入

4 1 7
3 2
2 2
8 1
4 3

样例输出

3

目录

                                                     基本思路

                                                        代码

                                                     代码注解

基本思路

这一道题一看就是一道贪心的题目;(最开始我只写了一次贪心->80分)

因为这道题有优惠卷这一形式的存在,所以并不能用一次贪心解决问题(不然很难判断这个糖果买不买,用不用优惠卷)所以这里面要思考一下可不可以分成两部分来分别去贪心;

  1. 按优惠价排序并尽量用完优惠卷;
  2. 用结构体优先队列q存储剩下东西的优惠差价&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值