AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P3000. 双十一

中等通过率 51% · 提交 1,262 · 通过 647
双指针排序枚举

小慕在双十一期间看中了许多打折商品,但由于预算有限,他决定从心仪的商品中挑选 3 件购买,并希望尽可能花光手中的资金。请你帮小慕设计一个程序,计算出他能花费的最大资金额。

提示:带虚线的词点一下有通俗解释。

输入描述

<div data-page-id="AE2tdlW1moStOKxPMtock2ADnhc" data-docx-has-block-data="false"> <div style="white-space-collapse:preserve;" class="ace-line ace-line old-record-id-DkIAd0gaUoyQiQx2RUZctIOenrg"> 第一行为整型数组 <code>M</code>,数组长度小于<code>100</code>,数组元素记录单个商品的价格; 单个商品价格小于<code>1000</code>; 第二行输入为购买资金的额度<code>R</code>,<code>R < 100000</code>。 </div> </div> <span data-lark-record-data="{"rootId":"AE2tdlW1moStOKxPMtock2ADnhc","text":{"initialAttributedTexts":{"text":{"0":"第一行为整型数组 M,数组长度小于100,数组元素记录单个商品的价格;\n单个商品价格小于1000;\n第二行输入为购买资金的额度R,R < 100000。

输出描述

输出为满足上述条件的最大花费额度 如果不存在满足上述条件的商品请返回-1

示例

示例 1

输入

23,26,36,27
78

输出

76

示例 2

输入

23,30,40
26

输出

-1

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
双十一购物:选3件商品,总价尽量接近R 23元 26元 36元 27元 R = 78元 23元 26元 27元 23+26+27 = 76元 76 ≤ 78,且最大 输出:76
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「双十一」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。