牛客网练习赛34-D-little w and Exchange(思维题)
链接: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(思维题)的更多相关文章
- 牛客网练习赛23 F 托米的游戏
链接:https://www.nowcoder.com/acm/contest/156/F 来源:牛客网 题目描述 题目背景编不下去了 托米有一棵有根树 T, 树根为1,每轮他会在剩下的子树中等概率一 ...
- 牛客网练习赛28A
题目链接:https://www.nowcoder.com/acm/contest/200/A 链接:https://www.nowcoder.com/acm/contest/200/A来源:牛客网 ...
- 牛客网练习赛18 A 【数论/整数划分得到乘积最大/快速乘】
链接:https://www.nowcoder.com/acm/contest/110/A 来源:牛客网 题目描述 这题要你回答T个询问,给你一个正整数S,若有若干个正整数的和为S,则这若干的数的乘积 ...
- 牛客网练习赛26B(简单的dp)
题目链接:https://www.nowcoder.com/acm/contest/180/B 链接:https://www.nowcoder.com/acm/contest/180/B来源:牛客网 ...
- 牛客网练习赛25 C 再编号
链接:https://www.nowcoder.com/acm/contest/158/C来源:牛客网 定义对 a 的再编号为 a' ,满足 . 现在有 m 次询问,每次给定 x,t ,表示询问经过 ...
- 牛客网第9场多校E(思维求期望)
链接:https://www.nowcoder.com/acm/contest/147/E 来源:牛客网 题目描述 Niuniu likes to play OSU! We simplify the ...
- 牛客网 2018年东北农业大学春季校赛 L题 wyh的天鹅
链接:https://www.nowcoder.com/acm/contest/93/L来源:牛客网 时间限制:C/C++ 3秒,其他语言6秒空间限制:C/C++ 262144K,其他语言524288 ...
- 牛客网 2018年东北农业大学春季校赛 I题 wyh的物品
链接:https://www.nowcoder.com/acm/contest/93/I 来源:牛客网 时间限制:C/C++ 5秒,其他语言10秒空间限制:C/C++ 262144K,其他语言5242 ...
- 牛客练习赛34 D little w and Exchange(归纳)
题意: 给n个数,和m 问这组数是否可以构成[1, m]中的每一个数 思路: 先将a数组排序. 先算算构成前几个数需要什么,至少需要a[1]=1 需要a[2] = 1,2 在a[2] = 1的情况下a ...
随机推荐
- less的安装使用和入门实践
1.简介 LESSCSS是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS的赋予了动态语言的特性,如变量.继承.运算.函数等,更方便CSS的编写和维护. LESSCSS可 ...
- 理解多线程中的ManualResetEvent(C#)
线程是程序中的控制流程的封装.你可能已经习惯于写单线程程序,也就是,程序在它们的代码中一次只在一条路中执行.如果你多弄几个线程的话,代码运行可能会更加“同步”.在一个有着多线程的典型进程中,零个或更多 ...
- Map功能简化Python并发代码
<转摘>Python 并行任务技巧 支持Map并发的包文件有两个: Multiprocessing,还有少为人知的但却功能强大的子文件 multiprocessing.dummy. Dum ...
- windows下vs2012用gsoap开发webservice实例
零:说明 1.本文是根据网上前人经验结合自己动手操作写成,开发工具用的vs2012,gsoap用的是gsoap-2.8: 2.gsoap提供的工具简单介绍 1)wsdl2h.exe:根据WSDL文件生 ...
- 洛谷P1020导弹拦截——LIS
题目:https://www.luogu.org/problemnew/show/P1020 主要是第二问,使用了dilworth定理:一个序列中最长不上升子序列的最大覆盖=最长上升子序列长度. di ...
- TCP/IP 详解卷一之 HTTP协议
HTTP协议 简介 超文本传输协议(HypertextTransfer Protocol,简称HTTP)是应用层协议.HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一 ...
- Vijos1579:宿命的PSS
背景 P.S.S:“我来自哪里?”WH:“你来自一个图.”P.S.S:“我是谁?”WH:“你是最小生成树.”P.S.S:“我又要到哪里去?”WH:“你要成为一个最小完全图(边权之和最小的完全图).”P ...
- JAVA,MYSQL,ORACLE的数据类型对比
MySQL Data Type Oracle Data Type Java BIGINT NUMBER(19, 0) java.lang.Long BIT RAW byte[] BLOB BLOB, ...
- HTML特殊字符的html、js、css写法汇总 (转)
⇠ 箭头类 符号 UNICODE 符号 UNICODE HTML JS CSS HTML JS CSS ⇠ ⇠ \u21E0 \21E0 ⇢ ⇢ \u21E2 \ ...
- 整理出来的一个windows关机、锁定、重启、注销 API调用
using System.Runtime.InteropServices; namespace HookDemo { class WindowsExit { [StructLayout(LayoutK ...