数字游戏
来源:互联网 发布:益玩网络 编辑:程序博客网 时间:2024/06/05 06:14
Question
小易邀请你玩一个数字游戏,小易给你一系列的整数。你们俩使用这些整数玩游戏。每次小易会任意说一个数字出来,然后你需要从这一系列数字中选取一部分出来让它们的和等于小易所说的数字。 例如: 如果{2,1,2,7}是你有的一系列数,小易说的数字是11.你可以得到方案2+2+7 = 11.如果顽皮的小易想坑你,他说的数字是6,那么你没有办法拼凑出和为6 现在小易给你n个数,让你找出无法从n个数中选取部分求和的数字中的最小数。
Algorithm
链接:https://www.nowcoder.com/questionTerminal/876e3c5fcfa5469f8376370d5de87c06
来源:牛客网
从小到大排序,一开始一块钱都凑不出来
下面,为了0~x都有,我需要来一个1元的(不然1元凑不出来)
给了你1元的,下面必须给1+1元以内的,不然2元凑不出来
如果再给一个1元的,那你现在能凑出0~2元的,接下来+1+2或者+3,都能增大范围而且不会导致中间缺一个数(4元的不行,因为凑不出3了)
——反正一直往下,直到出现第一个算不出来的值为止。
Code
#include<iostream>#include<vector>#include<algorithm>using namespace std;int main(){ int n; while(cin>>n){ vector<int> v(n,0); for(int i=0;i<n;i++){ cin>>v[i]; } sort(v.begin(),v.end()); int res=0; for(int i=0;i<n;i++){ if(v[i]>(res+1)) break; res+=v[i]; } cout<<res+1<<endl; } return 0;}
阅读全文
0 0
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数据库SQL实战
- Codeforces Round #426 (Div. 2)-The Bakery(线段树+DP)
- Android 中UIBlock的使用
- Linux学习笔记(8)
- SpringMVC
- 数字游戏
- String,StringBuffer和StringBuilder
- Android多线程之HandlerThread
- DoKuKIWI Windows安装说明
- How to operate/manage resources to meet certain objectives?
- Oracle初识笔记(二)
- js深入之继承
- 树链剖分模板题-SPOJ QTREEQuery on a tree
- Java中的八种基本数据类型所占字节的求法