选取部分求和的数字中的最小数
来源:互联网 发布:la域名查询 编辑:程序博客网 时间:2024/05/16 18:04
小易邀请你玩一个数字游戏,小易给你一系列的整数。你们俩使用这些整数玩游戏。每次小易会任意说一个数字出来,然后你需要从这一系列数字中选取一部分出来让它们的和等于小易所说的数字。 例如: 如果{2,1,2,7}是你有的一系列数,小易说的数字是11.你可以得到方案2+2+7 = 11.如果顽皮的小易想坑你,他说的数字是6,那么你没有办法拼凑出和为6 现在小易给你n个数,让你找出无法从n个数中选取部分求和的数字中的最小数。
输入描述:
输入第一行为数字个数n (n ≤ 20)第二行为n个数xi (1 ≤ xi ≤ 100000)
输出描述:
输出最小不能由n个数选取求和组成的数
输入例子:
35 1 2
输出例子:
4#include<iostream>
本来考虑暴力将所有可能的和列出,求最小不连续的数
但是看了别人的答案感觉很好,当前i项的和与第i+1项不连续时,那么最小不能达到的数就是前i项的和+1
#include<algorithm>
using namespace std;
const int N=20;
int a[N];
int main()
{
int n;
while(scanf("%d",&n)>0)
{
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
sort(a,a+n);
long long sum=0;
for(int i=0;i<n;i++)
{
if(a[i]>sum+1)
break;
else
sum+=a[i];
}
cout<<sum+1<<endl;
}
}
阅读全文
0 0
- 选取部分求和的数字中的最小数
- 小算法---寻找最小的不能由n个数选取求和的数
- 整形数的数字求和
- 把数组中的数字拼接起来组成最小的数
- 一列数字随机求和等于某数的算法(整理)
- Excel中的文本类型数字的求和统计
- java算法2~求字符串中的数字字串的求和
- 【codechef】s=abs(这部分数-剩下的数),求所有选取方式的s之和
- google笔试题 -- 根据已知数列得到不能组合求和的最小数
- 任意数求和(不限传递实参个数,都可以求和 对非有效数字的实参值进行规避 在函数外面可以使用求和的结果)
- java 查找文本中的数字并求和
- 对字符串中的数字子串求和
- uva 11076 给n个数字 n个数字的所有排列出来的数 相加 求和
- 输入一串数字以不同数量的空格分割数字,输出最小的数
- 数字中的数
- 旋转数字的最小数字
- 查找最大的不重复数,查找大于给定数字的最小不重复数
- 旋转数组中的最小数字
- 51Nod-1380-夹克老爷的逢三抽一
- java面试题(剑指offer):之字形打印二叉树
- hdu1115求凸包重心
- 鼠标点击中的时候实现拖拽动作
- javaScriptCore 笔记
- 选取部分求和的数字中的最小数
- vue+webpack的快速使用指南
- eclipse封装jar包的简单过程
- Python发送QQ邮件
- Java实现二叉查找树
- error C2085: “index(随便一个形参)”: 不在形参表中
- BZOJ 1627: [Usaco2007 Dec]穿越泥地
- Spring的MethodInvokingJobDetailFactoryBean定时任务重复执行问题解决方案
- 【luogu1966】火柴排队(逆序对)