时间限制:1秒

空间限制:65536K

你打开了美了么外卖,选择了一家店,你手里有一张满X元减10元的券,店里总共有n种菜,第i种菜一份需要A_i元,因为你不想吃太多份同一种菜,所以每种菜你最多只能点一份,现在问你最少需要选择多少元的商品才能使用这张券。

输入描述:

第一行两个正整数n和X,分别表示菜品数量和券的最低使用价格。(1≤n≤100, 1≤X≤10000) 接下来一行n个整数,第i个整数表示第i种菜品的价格。(1≤A_i≤100)

输出描述:

一个数,表示最少需要选择多少元的菜才能使用这张满X元减10元的券,保证有解。

输入例子1:

5 20
18 19 17 6 7

输出例子1:

23

这道题目使用直接DFS去做,时间复杂度为2^n, 只能通过很小一部分。从给的例子可以看出,贪心的做法是不可取的。所以考虑动态规划解法

定义状态dp[i][j] 表示购买前i个物品,超过金额j的最小金额数

容易状态转移方程如下:

dp[i][j] = min(dp[i-1][j], dp[i-1][j-num[i]]+num[i]) if j>num[i]

dp[i][j]= min(dp[i-1][j], num[i]) j<=num[i] 买前i-1件商品或买当前商品

#include <iostream>
#include <algorithm>
#include <climits>
using namespace std;
const int N = 10010;
int arr[N];
int dp[N][N];// dp[i][j] 表示前i件商品满j元的最小金额
// dp[i][j] = min(dp[i-1][j],dp[i-1][j-num[i]]+num[i]) if j>num[i]
//   if j<=num[i] dp[i][j] = min(num[i],dp[i-1][j])
int main()
{int n,m;cin>>n>>m;for(int i=1;i<=n;i++)cin>>arr[i];for(int i=0;i<=m;i++)dp[0][i] = N;         // 用MAX_INT会越界for(int i=1;i<=n;i++){for(int j=0;j<=m;j++){if(j<=arr[i]){dp[i][j] = min(arr[i],dp[i-1][j]);}else dp[i][j] = min(dp[i-1][j],dp[i-1][j-arr[i]]+arr[i]);}}cout<<dp[n][m]<<endl;}

2019 美团校招笔试题 外卖满减相关推荐

  1. 【美团校招笔试题】去除字符串首尾空格,中间多个空格只保留一个

    要求: 这是本人参加美团校招在线考试笔试题,如果此行为违反了美团校招笔试题商业保密性,请与本人联系. 思路:用一个while循环扫描整个字符串,用pStart字符指针指向整个字符串首地址,如果遇到首部 ...

  2. 美团校招笔试题—数据开发方向(附答案)

    今天给大家的题目是美团点评的校招笔试题--数据开发方向 全都是选择题,文末附赠了答案大家一定要认真思考后再看答案哦~ 答案来了 欢迎各路大神在下面交流呀~

  3. 字节跳动2019届校招笔试题

    1.世界杯开幕式会在球场C举行,球场C的球迷看台可以容纳M*N个球迷.在球场售票完成后,现官方想统计此次开幕式一共有多少个球队球迷群体,最大的球队球迷群体有多少人. 经调研发现,球迷群体在选座时有以下 ...

  4. 2019 小米校招笔试题 小米大礼包

    小米之家是成人糖果店.里面有很多便宜,好用,好玩的产品.中秋节快到了,小米之家想给米粉们准备一些固定金额大礼包.对于给定的一个金额,需要判断能不能用不同种产品(一种产品在礼包最多出现一次)组合出来这个 ...

  5. 2018 美团校招笔试题详解

    栈必考题目 栈和队列必考题目 不选安全性,可以猜出是ABD 操作系统死锁的题目经常考 这题也是一道必考题 二叉树必考题 第一张抽出红的,第二张抽出黑的,概率是P=1/2* 26/51 第一张抽出黑的, ...

  6. 2019 快手校招笔试题详解

    可以理解为把5本书插到14本书的中间,即加头尾的15个空格里,有多少种组合.因为不能相邻,所以是有C(15, 5) = 3003 种方法 实际做的时候可以先计算C(19,5),可以在A,B中选一个,大 ...

  7. python任务调度系统面试题_经典算法题 :任务调度算法(美团校招笔试题)

    小贴士:返回上一级搜索"算法题"挑战更多题目. 备注: 1.不定期将从留言区选出认真答题的1名朋友,赠与书籍<算法详解(卷1)>一本(兑奖方法跟获奖者私下沟通) 请留言 ...

  8. 关于python类的继承正确的说法是_2017美团点评的运维岗校招笔试题,测测你会几题?...

    原标题:2017美团点评的运维岗校招笔试题,测测你会几题? 1.数据库:以下哪项不是HASH索引的特征? A MySQL不能确定在两个值之间大约有多少行 B 不能使用hash索引来加速ORDER BY ...

  9. 深信服笔试题 php,2019深信服校招笔试题------木板接水

    2019深信服校招笔试题--木板接水 题目: 空地上竖立着n个从左到右排列的木板,它们可以把水挡住,但溢出最边上木板的水将会流到空地上.已知木板间距都是单位1,现给定每个木板的高度,请求出总共能接住的 ...

最新文章

  1. 又一年5.20,用Python助力程序员脱单大攻略(视频版)
  2. Ubuntu12.04 安装vim出错
  3. php 代码线程,php实现多线程代码
  4. android layout background,Android LinearLayout Gradient Background
  5. GitHub上最受开发人员欢迎的5大Java项目
  6. USB3.0超高速接口应用方案
  7. 根据pid判断某个进程是否存在
  8. 模态对话框的消息循环原理及分析笔记
  9. 每日一题(2)—— -2与2的比较
  10. mac镜像cdr格式_eps是什么格式怎么打开?全面解析图片的eps是什么格式
  11. 离散数学:构造性二难推理和破坏性二难定理的解释
  12. (转)PHP生成图片缩略图
  13. 函数的调用过程——栈帧。
  14. 阿里云短信接口配置教程
  15. 自动化测试工程师简历模板
  16. 学计算机语言从何开始,小孩学编程从哪开始
  17. 小程序下载图片、文件、wx.downloadFile,废话少说直接上代码
  18. RS485,uart串口加瑞芬68协议
  19. 时间序列:Shapelets
  20. Spring Security 配置 Remember Me

热门文章

  1. future.dj pro for Mac(专业DJ混音软件) 破解版
  2. Unity九宫格切割图片 2D Sprite
  3. R语言ggplot2可视化线图(line plot)、自定义设置X轴标签为字符串标签,将原有的指定间隔的数字标签替换为指定的字符串标签(change x axis labels into string
  4. 关于netty的中nettyio.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1异常排除
  5. Emlog模板 简洁大气留白风格源码资源站
  6. JQuery——横纵向菜单设计
  7. Vue前端文本对比DIFF
  8. rust自动售卖机英文_中英文设备销售合同.doc
  9. java-php-net-python-基于的相册软件的设计与实现计算机毕业设计程序
  10. Android:空气质量检测界面(布局嵌套),练手推荐。