何以包邮?

题目描述

新学期伊始,适逢顿顿书城有购书满 x 元包邮的活动,小 P 同学欣然前往准备买些参考书。
一番浏览后,小 P 初步筛选出 n 本书加入购物车中,其中第 i 本(1≤i≤n)的价格为 ai 元。
考虑到预算有限,在最终付款前小 P 决定再从购物车中删去几本书(也可以不删),使得剩余图书的价格总和 m 在满足包邮条件(m≥x)的前提下最小。

试帮助小 P 计算,最终选购哪些书可以在凑够 x 元包邮的前提下花费最小?

输入格式

从标准输入读入数据。

输入的第一行包含空格分隔的两个正整数 n 和 x,分别表示购物车中图书数量和包邮条件。

接下来输入 n 行,其中第 i 行(1≤i≤n)仅包含一个正整数 ai,表示购物车中第 i 本书的价格。输入数据保证 n 本书的价格总和不小于 x。

输出格式

输出到标准输出。

仅输出一个正整数,表示在满足包邮条件下的最小花费。

样例1输入

4 100
20
90
60
60

Data

样例1输出

110

Data

样例1解释

购买前两本书(20+90)即可包邮且花费最小。

样例2输入

3 30
15
40
30

Data

样例2输出

30

Data

样例2解释

仅购买第三本书恰好可以满足包邮条件。

样例3输入

2 90
50
50

Data

样例3输出

100

Data

样例3解释

必须全部购买才能包邮。

子任务

70% 的测试数据满足:n≤15;

全部的测试数据满足:n≤30,每本书的价格 ai≤104 且 x≤a1+a2+⋯+an。

提示

对于 70% 的测试数据,直接枚举所有可能的情况即可。

题解:

        0-1背包问题,使用动态规划一维滚动数组解决。

        0-1背包:选择的物品总体积<=背包容量,求价值最大

                        dp[j]:背包容量为j时,可以装的物品最大价值

        此题:    选择的书总价值>=邮费x,求价值最小

                        dp[j]:邮费限制为j时,可以选择的书的最多价值

dp代码:

#include <bits/stdc++.h>
#define M 10000000
using namespace std;
int main()
{int x,n,p[M],dp[M],sum=0;cin>>n>>x;for(int i=1;i<=n;i++){cin>>p[i];sum+=p[i];}for(int i=1;i<=n;i++){for(int j=sum;j>=p[i];j--){dp[j]=max(dp[j],dp[j-p[i]]+p[i]);}}for(int i=x;i<=sum;i++)if(dp[i]>=x) {cout<<i<<endl; break;}return 0;
}

ccf-CSP 202209相关推荐

  1. CCF CSP 202209

    第一题 如此编码 #include<stdio.h> #include<string.h> #include<algorithm>int a[10000]; lon ...

  2. 第27次CCF CSP(202209) T3非常详细题解 防疫大数据(C++)

    -->原题链接 思路:         大模拟最重要的是理清思路,针对该题的几块内容来说.         对于地区:用map来存,用pair表示某个地区是风险区的连续的开始和结束时间.维护起来 ...

  3. CCF CSP 201609-2 火车购票

    题目链接:http://118.190.20.162/view.page?gpid=T46 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排 ...

  4. 计算机能力挑战赛_蓝桥杯、PAT、CCF CSP、团体程序设计天梯赛、传智杯、计算机能力挑战赛、软考等大学生编程比赛/考试介绍...

    介绍7个适合普通大学生参加的编程比赛/考试(注:有的比赛如蓝桥杯有多种赛别,本文仅介绍其中的程序设计/编程比赛). 编程入门书籍推荐<算法笔记>,内容详细易懂,对新手非常友好,描述语言为C ...

  5. 以CCF CSP认证为抓手,积极探索软件基础能力递进式培养体系

    原文链接:以CCF CSP认证为抓手,积极探索软件基础能力递进式培养体系 发布单位:学会      发布时间:2017-01-20 16:16 作者:陆建峰    余立功 摘要:为提升计算机专业类学生 ...

  6. ccf csp寻宝!大冒险!(C语言)

    ccf csp寻宝!大冒险! 题目背景 暑假要到了.可惜由于种种原因,小 P 原本的出游计划取消.失望的小 P 只能留在西西艾弗岛上度过一个略显单调的假期--直到-- 某天,小 P 获得了一张神秘的藏 ...

  7. 【CCF CSP】【Python】【201903-1】小中大

    [CCF CSP][Python][201903-1] 小中大 题目要求 代码实现 主要方法 提交验证 题目要求 代码实现 1.初始版(又名完全原创版.欠优化版.无法体现"人生苦短,我用PY ...

  8. 参加CCF CSP认证者须知

    发布单位:中国计算机学会      发布时间:2014-11-11 15:06    凡有意参加CCF CSP认证者,请在cspro.org网站上注册.报名.缴费.打印准考证,参加认证后可以在网站查询 ...

  9. CCF CSP 行车路线 java 201712_4

    CCF CSP 行车路线 java 201712_4 问题描述 小明和小芳出去乡村玩,小明负责开车,小芳来导航. 小芳将可能的道路分为大道和小道.大道比较好走,每走1公里小明会增加1的疲劳度.小道不好 ...

  10. CCF CSP认证考试在线评测系统

    关于CCF CSP认证考试在线评测系统 CCF CSP认证考试简介 CCF是中国计算机学会的简称.CCF计算机软件能力认证(简称CCF CSP认证考试)是CCF于2014年推出,是CCF计算机职业资格 ...

最新文章

  1. 数据集获取加速神器来了!
  2. 制药行业验证过程中的偏差如何处理?
  3. 干货丨11位机器学习大牛最爱算法全解
  4. 树莓派4b控制机械手臂_Raspberry Pi
  5. UDP(首部)和TCP(首部、三次握手、四次挥手、可靠传输、滑动窗口、流量控制、拥塞控制(慢开始、拥塞避免、快重传、快恢复))
  6. appium判断元素是否存在_Python+selenium自动化之判定元素是否存在
  7. Git(12)-stash, reflog
  8. 【英语学习】【Level 07】U07 Stories of my Life L3 Campus memories
  9. python选股源代码_【一点资讯】Python实现行业轮动量化选股【附完整源码】 www.yidianzixun.com...
  10. VMware 虚拟机如何连接网络,且远程可连接
  11. php云人才伪静态,骑士cms(骑士人才系统)伪静态设置方法
  12. 【企业网络】我在51cto技术门诊的提问以及专家的解答汇总
  13. SSM(Spring+SpringMVC+Mybatis) 整合
  14. While(true)无限循环
  15. 产品调研,如何避免「浮于表面」?
  16. 【Cheatsheet】Java的常用代码(以及eclipse技巧)
  17. 【学习笔记】编译Linux内核(下)---KConfig、Makefile详解以及ARM平台Linux内核的编译
  18. 直播平台录播系统架构
  19. MAC OS 上好用的文本编辑器除了Sublime Text和BBEdit还有这些好用的推荐一下。
  20. Linux获取系统UUID

热门文章

  1. php readdir 中文名,PHP readdir()用法及代码示例
  2. FTP协议和Samba服务在linux中的应用
  3. 求幂级数展开的部分和
  4. Twisted高级话题的学习
  5. Dijkstra算法、Floyd算法的思想和实现(C语言)
  6. 简单设计实现基于Forms认证的注册登录等用户基础服务
  7. linux. sodu yum,centos7安装个人网盘owncloud
  8. 虚拟现实工业应用系统一般开发流程
  9. MTK android11 替换默认壁纸库
  10. iphone xr xs_如何在iPhone X,XS和XR上使用Animoji