hihoCoder1353 满减优惠

#1353 : 满减优惠

时间限制:10000ms

单点时限:1000ms

内存限制:256MB

描述

最近天气炎热,小Ho天天宅在家里叫外卖。他常吃的一家餐馆一共有N道菜品,价格分别是A1, A2, ... AN元。并且如果消费总计满X元,还能享受优惠。小Ho是一个不薅羊毛不舒服斯基的人,他希望选择若干道不同的菜品,使得总价在不低于X元的同时尽量低。

你能算出这一餐小Ho最少消费多少元吗?

输入

第一行包含两个整数N和X,(1 <= N <= 20, 1 <= X <= 100)

第二行包含N个整数A1, A2, ..., AN。(1 <= Ai <= 100)

输出

输出最少的消费。如果小Ho把N道菜都买了还不能达到X元的优惠标准,输出-1。

样例输入
10 50
9 9 9 9 9 9 9 9 9 8
样例输出
53

分析:01背包。把所有菜价格的总和sum跟X的差值d作为背包容量,然后把结果无限接近d。

#include<cstdio>
#include<algorithm>
using namespace std;
int dp[3000],a[300];
int main()
{
    int N,X,sum=0;
    scanf("%d%d",&N,&X);
    for(int i=1;i<=N;i++)
    {scanf("%d",&a[i]);sum+=a[i];}
    int d=sum-X;
    if(d<0) printf("-1\n");
    else if(d==0) printf("%d\n",sum);
    else//差值d为背包
    {
        for(int i=1;i<=N;i++)
        {
            for(int j=d;j>=a[i];j--)
            if(dp[j-a[i]]+a[i]<=d)
            dp[j]=max(dp[j],dp[j-a[i]]+a[i]);
        }
        int ans=0;
        for(int i=0;i<=d;i++)
            ans=max(dp[i],ans);
        printf("%d\n",sum-ans);
    }
    return 0;
}

原文地址:https://www.cnblogs.com/ACRykl/p/8215642.html

时间: 2024-10-27 01:11:29

hihoCoder1353 满减优惠的相关文章

满减优惠[Offer收割]编程练习赛4

题目1 : 满减优惠时间限制:10000ms单点时限:1000ms内存限制:256MB 描述 最近天气炎热,小Ho天天宅在家里叫外卖.他常吃的一家餐馆一共有N道菜品,价格分别是A1, A2, ... AN元.并且如果消费总计满X元,还能享受优惠.小Ho是一个不薅羊毛不舒服斯基的人,他希望选择若干道不同的菜品,使得总价在不低于X元的同时尽量低. 你能算出这一餐小Ho最少消费多少元吗?输入 第一行包含两个整数N和X,(1 <= N <= 20, 1 <= X <= 100) 第二行包含

hihocoder-Week184-满减优惠

hihocoder-Week184-满减优惠 题目1 : 满减优惠 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 最近天气炎热,小Ho天天宅在家里叫外卖.他常吃的一家餐馆一共有N道菜品,价格分别是A1, A2, ... AN元.并且如果消费总计满X元,还能享受优惠.小Ho是一个不薅羊毛不舒服斯基的人,他希望选择若干道不同的菜品,使得总价在不低于X元的同时尽量低. 你能算出这一餐小Ho最少消费多少元吗? 输入 第一行包含两个整数N和X,(1 <= N <= 20,

银联在线满减汇总

欢迎新老客户在我这里开立银联在线网络POS,独立后台,可自行参加各种活动,不用再为买卡卖卡而奔波,老客户介绍也有奖励喔 私聊QQ 8525427 以下活动均可通过开通网络pos实现空套 详情私聊 所有银行卡(每天0点起)时间:2015年9月1日至2015年9月30日优惠:通过银联在线支付成功抽奖,可得2.5.10立减资格,下次超过立减金额即可使用,需要登记.(每卡2.5.10能各中一次)进阶:多卡多次 中行62信用卡山西地区手机号持卡人(每天0点起)时间:2015年9月1日至2015年10月31

浅析微信支付:商户平台代金券或立减优惠开通、指定用户代金券发放、查询等

本文是[浅析微信支付]系列文章的第十四篇,主要讲解在如何开通商户平台的代金券或立减优惠功能,商家向指定用户发送代金券,查询发送记录,代金券信息等. 浅析微信支付系列已经更新十四篇了哟-,没有看过的朋友们可以看一下哦. 浅析微信支付:商户平台开通现金红包.指定用户发放.红包记录查询 浅析微信支付:(余额提现)企业付款到微信用户零钱或银行卡账户 浅析微信支付:支付验收示例和验收指引 浅析微信支付:如何使用沙箱环境测试 首先我们需要了解一下什么是代金券和立减优惠? 代金券是微信支付为商家提供的一个营销

电商中设置满包邮,满减等促销搞活动;电商平台同步到第三方,日志记录

1.添加同步: if($import_shop_activity ['base_info'] ['status'] == 1 ){ foreach ( $r as $v ) { if ($v ['code'] == 0) { // 批量插入信息之后,获取到每个的id,再写入详情 foreach ( $import_shop_activity ['detail'] as $vt ) { //以前只有reduce_price 现在添加 free_delivery(包快递) .free_logisti

外卖满减

题目描述 打开了美了么外卖,选择了一家店,你手里有一张满X元减10元的券,店里总共有n种菜,第i种菜一份需要A_i元,因为你不想吃太多份同一种菜,所以每种菜你最多只能点一份,现在问你最少需要选择多少元的商品才能使用这张券. 输入描述: 第一行两个正整数n和X,分别表示菜品数量和券的最低使用价格.(1≤n≤100, 1≤X≤10000) 接下来一行n个整数,第i个整数表示第i种菜品的价格.(1≤A_i≤100) 输出描述: 一个数,表示最少需要选择多少元的菜才能使用这张满X元减10元的券,保证有解

希赛网16周年庆感恩钜惠,全年劲爆最低价,不止5折,建造师最高优惠1500

值此希赛网16周年庆喜逢建造师学院全新上线之际,为感恩新老学员一如既往对我们的支持和信任,特别策划了希赛网感恩回馈活动:一元秒杀+5折限购+报班最高优惠1500元 =全年最低价.还不点进来看下,这么大的优惠力度你打算就此擦肩而过吗? 活动时间:2017年9月20日-2017年10月10日        活动地址:http://www.educity.cn/huodong/2017/ 活动一:5折限时抢购 9月20-23日主要是通信的真题讲解视频,9月24-30日为2015及2015年之前软考的真

平台架构实践

海淘平台架构实践 1引言 随着互联网的发展,电子商务在全社会的深入普及,中国网购用户强大的消费能力已经不止满足于天猫.京东.淘宝等购物平台.据相关报道,目前国内中产阶级人数已过亿.其中一批懂英文或日文的先行者,通过双币或多币种信用卡,直接在国外电商站点上购物,直邮或者通过海外转运公司将商品运输回来,也就是所谓的“海淘”.海淘族最初的发展壮大,还得力于一批海外代购客的大力宣传,通过收取服务费以及国内国外商品的价格差赚的盆满钵满. 从2012年开始,涌现出一大批海淘平台(也属于跨境电商)创业潮,专门

海淘平台架构实践

1引言 随着互联网的发展,电子商务在全社会的深入普及,中国网购用户强大的消费能力已经不止满足于天猫.京东.淘宝等购物平台.据相关报道,目前国内中产阶级人数已过亿.其中一批懂英文或日文的先行者,通过双币或多币种信用卡,直接在国外电商站点上购物,直邮或者通过海外转运公司将商品运输回来,也就是所谓的“海淘”.海淘族最初的发展壮大,还得力于一批海外代购客的大力宣传,通过收取服务费以及国内国外商品的价格差赚的盆满钵满. 从2012年开始,涌现出一大批海淘平台(也属于跨境电商)创业潮,专门抢夺这3千万海淘用