链接:https://ac.nowcoder.com/acm/contest/297/D

来源:牛客网

时间限制:C/C++ 1秒,其他语言2秒

空间限制:C/C++ 262144K,其他语言524288K

64bit IO Format: %lld

题目描述

旅行到K国的小w发现K国有着很多物美价廉的商品,他想要买一些商品。

结果一掏钱包,包里只剩下n张K国的纸币了,说起来也奇怪,K国纸币并不像其他国家一样都是1元,5元,10元…而是各种奇怪的面值,所以找零就不是很方便。

已知商店里的商品价格都是小于等于m的正整数,如果有可能存在某个商品的价格为x<=m并且x无法在不找零的情况下支付,小w就不能任意购买一件商店中的商品,小w想知道自己在不找零的情况下能否任意购买一件商店中的商品,你能帮帮他么?

输入描述:

第一行是两个正整数n,m(n<=1000,m<=2^31-1)
第二行共n个正整数ai(1<=ai<=2^31-1),代表小w钱包中K国纸币的面值。

输出描述:

如果能任意购买商店中的物品,请输出"YES"(不含引号)。
如不能任意购买商店中的物品,请输出"NO"(不含引号)。

示例1

输入

复制

4 10
1 2 3 4

输出

复制

YES

说明

小w可以用面值为1的纸币在不找零的情况下购买价值为1的商品
小w可以用面值为2的纸币在不找零的情况下购买价值为2的商品
小w可以用面值为1、2的纸币在不找零的情况下购买价值为3的商品
小w可以用面值为4的纸币在不找零的情况下购买价值为4的商品
小w可以用面值为1、4的纸币在不找零的情况下购买价值为5的商品
小w可以用面值为2、4的纸币在不找零的情况下购买价值为6的商品
小w可以用面值为1、2、4的纸币在不找零的情况下购买价值为7的商品
小w可以用面值为1、3、4的纸币在不找零的情况下购买价值为8的商品
小w可以用面值为2、3、4的纸币在不找零的情况下购买价值为9的商品
小w可以用面值为1、2、3、4的纸币在不找零的情况下购买价值为10的商品

示例2

输入

复制

4 10
5 5 2 1

输出

复制

NO

说明

小w可以用面值为1的纸币在不找零的情况下购买价值为1的商品
小w可以用面值为2的纸币在不找零的情况下购买价值为2的商品
小w可以用面值为1、2的纸币在不找零的情况下购买价值为3的商品
小w无法在不找零的情况下用手中的纸币构造出价值为4的商品的购买方案,所以认为小w无法任意购买商店中的商品

备注:

纸币的面值可能会相同,每张纸币仅有一张,可以使用或者不使用。

当且仅当你能用手里的纸币凑出价值恰好为1,2,3,4,5,....m的物品的购买方案时,我们认为可以任意购买物品。

你可以认为这m个查询都是独立的。也就是说同一张纸币可以在购买不同价值的物品方案中出现

题解:默认一开始你能表示1-n,然后每次多一个a[i],新的区间就可以表示为1+a[i]--n+a[i],然后判断是否可以合并,可以合并表示1-n+a[i]的数都能表示,不行就输出NO

代码:

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm> using namespace std; int main()
{
long long int sum=0;
int n,m;
int a[1005];
cin>>n>>m;
for(int t=1;t<=n;t++)
{
scanf("%d",&a[t]);
}
sort(a+1,a+n+1);
for(int t=1;t<=n;t++)
{
if(sum+1<a[t])
break;
sum+=a[t];
}
if(sum>=m)
{
printf("YES\n");
}
else
{
printf("NO\n");
}
return 0;
}

牛客网练习赛34-D-little w and Exchange(思维题)的更多相关文章

  1. 牛客网练习赛23 F 托米的游戏

    链接:https://www.nowcoder.com/acm/contest/156/F 来源:牛客网 题目描述 题目背景编不下去了 托米有一棵有根树 T, 树根为1,每轮他会在剩下的子树中等概率一 ...

  2. 牛客网练习赛28A

    题目链接:https://www.nowcoder.com/acm/contest/200/A 链接:https://www.nowcoder.com/acm/contest/200/A来源:牛客网 ...

  3. 牛客网练习赛18 A 【数论/整数划分得到乘积最大/快速乘】

    链接:https://www.nowcoder.com/acm/contest/110/A 来源:牛客网 题目描述 这题要你回答T个询问,给你一个正整数S,若有若干个正整数的和为S,则这若干的数的乘积 ...

  4. 牛客网练习赛26B(简单的dp)

    题目链接:https://www.nowcoder.com/acm/contest/180/B 链接:https://www.nowcoder.com/acm/contest/180/B来源:牛客网 ...

  5. 牛客网练习赛25 C 再编号

    链接:https://www.nowcoder.com/acm/contest/158/C来源:牛客网 定义对 a 的再编号为 a' ,满足 . 现在有 m 次询问,每次给定 x,t ,表示询问经过 ...

  6. 牛客网第9场多校E(思维求期望)

    链接:https://www.nowcoder.com/acm/contest/147/E 来源:牛客网 题目描述 Niuniu likes to play OSU! We simplify the ...

  7. 牛客网 2018年东北农业大学春季校赛 L题 wyh的天鹅

    链接:https://www.nowcoder.com/acm/contest/93/L来源:牛客网 时间限制:C/C++ 3秒,其他语言6秒空间限制:C/C++ 262144K,其他语言524288 ...

  8. 牛客网 2018年东北农业大学春季校赛 I题 wyh的物品

    链接:https://www.nowcoder.com/acm/contest/93/I 来源:牛客网 时间限制:C/C++ 5秒,其他语言10秒空间限制:C/C++ 262144K,其他语言5242 ...

  9. 牛客练习赛34 D little w and Exchange(归纳)

    题意: 给n个数,和m 问这组数是否可以构成[1, m]中的每一个数 思路: 先将a数组排序. 先算算构成前几个数需要什么,至少需要a[1]=1 需要a[2] = 1,2 在a[2] = 1的情况下a ...

随机推荐

  1. jsonp跨域请求,动态script标签实现跨域

    1.什么是跨域 首先一个域名地址的组成是: http://www.xxx.com:8080/xxx/xxx.jsp 协议子域名主域名端口号请求资源地址 当协议.子域名.主域名.端口号中任意一个不相同时 ...

  2. UTCformat 转换UTC时间并格式化成本地时间

    /** * UTCformat 转换UTC时间并格式化成本地时间 * @param {string} utc */ UTCformat (utc) { var date = new Date(utc) ...

  3. asteris录音设置

    [macro-recording] exten =>s,1,Set(CALLFILENAME=${STRFTIME(${EPOCH},UTC-8,%Y-%m-%d-%H-%M-%S)}-${CA ...

  4. hyperledger fabric学习(1)

    第一部分 环境搭建 说明 本次环境搭建是是现在虚拟机中,采用ubuntu 16.04版本,安装多次成功. 首先安装一些常用的工具 sudo apt-get update sudo apt-get in ...

  5. ExecutorService和CompletionService区别

    ExecutorService和CompletionService区别: ExecutorService:一直习惯自己维护一个list保存submit的callable task所返回的Future对 ...

  6. gitea (git服务器), 修改配置,更换IP地址

    使用的gitea项目管理git 服务器 (可以不用备份项目, 通过直接修改gitea配置, 直接使用) 步骤1 可以直接访问项目, 步骤2 ,如果已有项目IP地址固定为192.168.1.x, 新的I ...

  7. RestClient(接口请求)

    一.电子签章:通过接口,传入参数中有pdf文件,和其他参数,在文件上盖上电子签章. 引入:通过NuGet安装RestSharp,注意版本. 备注:如果后面程序运行有错,可以看是引用是否更改了web.c ...

  8. [codeforces274b]Zero Tree(树形dp)

    题意:给出一棵树,每个点有权值,每次操作可以对一个联通子集中的点全部加1,或者全部减1,且每次操作必须包含点1,问最少通过多少次操作可以让整棵树每个点的权值变为0. 解题关键:自底向上dp,记录up, ...

  9. 玩转 React 服务器端渲染

    React 提供了两个方法 renderToString 和 renderToStaticMarkup 用来将组件(Virtual DOM)输出成 HTML 字符串,这是 React 服务器端渲染的基 ...

  10. 优酷电视剧爬虫代码实现一:下载解析视频网站页面(4)补充: Java正则表达式Matcher.group(int group)相关类解析

    在Java正则表达式的相关类Matcher中,有如下几个方法: - int groupCount() - String group(int group) - int start(int group)  ...