news 2026/7/10 7:32:02

GESP认证C++编程真题解析 | B3873 [GESP202309 六级] 小杨买饮料

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GESP认证C++编程真题解析 | B3873 [GESP202309 六级] 小杨买饮料

​欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!

专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。

适合人群:

  • 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
  • 希望系统学习C++/Python编程的初学者
  • 想要提升算法与编程能力的编程爱好者

附上汇总帖:GESP认证C++编程真题解析 | 汇总


【题目来源】

洛谷:[B3873 GESP202309 六级] 小杨买饮料 - 洛谷

【题目描述】

小杨来到了一家商店,打算购买一些饮料。这家商店总共出售N NN种饮料,编号从0 00N − 1 N-1N1,其中编号为i ii的饮料售价c i c_ici元,容量l i l_ili毫升。

小杨的需求有如下几点:

  1. 小杨想要尽可能尝试不同种类的饮料,因此他希望每种饮料至多购买1 11瓶;
  2. 小杨很渴,所以他想要购买总容量不低于L LL的饮料;
  3. 小杨勤俭节约,所以在1 112 22的前提下,他希望使用尽可能少的费用。

方便起见,你只需要输出最少花费的费用即可。特别地,如果不能满足小杨的要求,则输出no solution

【输入】

第一行两个整数N , L N,LN,L

接下来N NN行,依次描述第i = 0 , 1 , ⋯ , N − 1 i=0,1,\cdots,N-1i=0,1,,N1种饮料:每行两个整数c i , l i c_i,l_ici,li

【输出】

输出一行一个整数,表示最少需要花费多少钱,才能满足小杨的要求。特别地,如果不能满足要求,则输出no solution

【输入样例】

5 100 100 2000 2 50 4 40 5 30 3 20

【输出样例】

9

【算法标签】

《洛谷 B3873 小杨买饮料》 #动态规划DP# #背包DP# #GESP# #2023#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;constintN=505;// 最大物品数量constintINF=0x3f3f3f3f;// 定义无穷大intn,L;// n: 物品数量, L: 最小需要的长度intc[N],l[N];// c[i]: 第i个物品的价格, l[i]: 第i个物品的长度intdp[1000005];// dp[j]: 总长度至少为j时的最小花费intmain(){// 输入物品数量和需要的最小长度cin>>n>>L;// 输入每个物品的价格和长度for(inti=1;i<=n;i++){cin>>c[i]>>l[i];}// 初始化dp数组为无穷大memset(dp,0x3f,sizeof(dp));dp[0]=0;// 总长度为0时的最小花费为0// 动态规划:0-1背包的变形(至少型背包)for(inti=1;i<=n;i++)// 遍历每个物品{for(intj=1000000;j>=l[i];j--)// 从大到小遍历,保证每个物品只用一次{// 状态转移方程:// 不选当前物品:dp[j] 保持不变// 选当前物品:dp[j-l[i]] + c[i]// 取两者最小值dp[j]=min(dp[j],dp[j-l[i]]+c[i]);}}// 在满足长度至少为L的所有方案中寻找最小花费intans=INF;for(inti=L;i<=1000000;i++){ans=min(ans,dp[i]);}// 输出结果if(ans==INF){// 没有找到满足条件的方案cout<<"no solution"<<endl;}else{// 输出最小花费cout<<ans<<endl;}return0;}

【运行结果】

5 100 100 2000 2 50 4 40 5 30 3 20 9
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 9:07:25

FaceFusion更新日志追踪:每月都有新功能上线

AI换脸技术的边界与工程伦理&#xff1a;为何专业分工不可逾越在人工智能技术迅猛发展的今天&#xff0c;我们时常看到各类AI工具以前所未有的速度迭代更新——FaceFusion每月上线新功能、DeepNude类项目引发伦理争议、Stable Diffusion开放模型催生创作革命。这些现象背后&…

作者头像 李华
网站建设 2026/7/9 14:01:58

(Open-AutoGLM实战白皮书)首次公开:跨平台任务调度的7种高效模式

第一章&#xff1a;Open-AutoGLM 跨应用任务处理竞品分析在跨应用自动化任务处理领域&#xff0c;多个框架和平台已展现出不同的技术路径与能力边界。Open-AutoGLM 作为新兴的开源解决方案&#xff0c;其核心优势在于结合大语言模型&#xff08;LLM&#xff09;驱动的任务解析与…

作者头像 李华
网站建设 2026/7/10 17:33:29

分布式幂等性:30字讲透核心要点

幂等性处理是分布式系统和微服务架构中保证数据一致性与系统健壮性的核心概念。我们来系统性地梳理一下。一、什么是幂等性&#xff1f;定义&#xff1a;一个操作&#xff08;或接口&#xff09;被重复执行多次所产生的效果&#xff0c;与仅执行一次所产生的效果完全相同。核心…

作者头像 李华
网站建设 2026/7/10 1:57:31

FaceFusion能否对接OneDrive?微软生态无缝衔接

FaceFusion 与 OneDrive 的无缝集成&#xff1a;打通 AI 生成与办公生态的“最后一公里”在内容创作日益依赖人工智能的今天&#xff0c;一个现实问题摆在开发者和企业面前&#xff1a;我们如何让 AI 工具产出的结果&#xff0c;不再沉睡于本地磁盘&#xff0c;而是自动进入用户…

作者头像 李华
网站建设 2026/7/10 16:05:16

【AI模型部署必读】:Open-AutoGLM云端推理速度提升3倍的秘密路径

第一章&#xff1a;Open-AutoGLM 端侧 vs 云端部署性能权衡在边缘计算与云计算并行发展的背景下&#xff0c;Open-AutoGLM 的部署策略需在端侧与云端之间做出性能与效率的权衡。端侧部署能够显著降低推理延迟、保障数据隐私&#xff0c;并减少对网络带宽的依赖&#xff1b;而云…

作者头像 李华
网站建设 2026/7/10 15:58:53

为什么顶尖团队开始弃用Monica Manus改用Open-AutoGLM?真相在这里

第一章&#xff1a;Open-AutoGLM 与 Monica Manus 执行效率对比在自动化大语言模型推理任务中&#xff0c;Open-AutoGLM 和 Monica Manus 是当前备受关注的两个开源框架。两者均支持动态指令解析与多轮对话管理&#xff0c;但在执行效率层面表现出显著差异。架构设计差异 Open-…

作者头像 李华