牛客网练习赛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 ...
随机推荐
- iOS开发 - 如何跳到系统设置里的各种设置界面
在iOS开发中,有时会有跳转系统设置界面的需求,例如提示用户打开蓝牙或者WIFI,提醒用户打开推送或者位置权限等.在iOS6之后,第三方应用需要跳转系统设置界面,需要在URL type中添加一个pre ...
- 按钮滚动到指定位置(JS)
function intval(v) { v = parseInt(v); return isNaN(v) ? 0 : v; } function getPos(e) { var l = 0; var ...
- mysql 优化 实现命中率100%
配置你的mysql配置文件:主要是配置[mysqld]后面的内容. 1,优化远程连接速度. 在[mysqld]下面添加skip-name-resolve skip-name-resolve 选项就能禁 ...
- Java如何创建内部类对象
public static void main(String[] args) { Person p = new Test().new Person(); } class Person { String ...
- 作业2nd
1. 国内: 雷军作为中国互联网代表人物及环球年度电子商务创新首领人物,曾获中国经济年度人物及十大财智首领人物.中国互联网年度人物等多项国表里荣誉,并当选<福布斯>(亚洲版)2014年度贸 ...
- 【Lintcode】135.Combination Sum
题目: Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C ...
- 【LeetCode】016 3Sum Closest
题目: Given an array S of n integers, find three integers in S such that the sum is closest to a given ...
- 媒体格式分析之flv -- 基于FFMPEG
本来是应该先写一个媒体文件格式的简单讲解的,还没来得及写,以后再写.今天就先根据ffmpeg的flv.c的flv_demux这个结构体来讲解一下当前比较流行的媒体格式flv. FLV 是FLASH V ...
- RT-Thread RTOS
RT-ThreadRTOS是一款来自中国的开源实时操作系统,由RT-Thread工作室的专业开发人员开发.维护. 起初RT-Thread是一个实时的内核(全抢占优先级调度,调度器时间复杂度O(1)), ...
- CentOS下编写shell脚本来监控MySQL主从复制的教程
这篇文章主要介绍了在CentOS系统下编写shell脚本来监控主从复制的教程,文中举了两个发现故障后再次执行复制命令的例子,需要的朋友可以参考下 目的:定时监控MySQL主从数据库是否同步,如果不同步 ...