njoj 1251 zlly长了一张包子脸



题意:

zlly长了一张包子脸。他特别喜欢吃糖果。如今他手头有若干种糖果,每种糖果有个口味值,每种糖果有无数多个。然后娄童鞋也很喜欢吃糖果。他的口味特别广泛,他喜欢各种各样的口味值,他要求zlly用现有的口味值拼出新的口味值。如今。娄童鞋想知道他不能吃到的口味值最大是多少?你能帮他的忙吗?

举个样例,如今zlly手头有3,6,10三种糖果,他拼不出口味值为1、2、4、5、7…17的糖果,所以结果就是17。

另外,糖果种类数<=10。每种糖果的口味值<=265,能够保证最大的结果不超过2,000,000,000。假设都能够拼出或最大值不存在。输出0。



思路:

事实上2*1e9是虚的。

gcd(a1,...,an)!=1时,无解,

gcd(a1,...,an)==1时,有解。解的上界为max(ai*aj)。不会证,

所以暴力就可以。

/*njoj 1251 zlly长了一张包子脸
题意:
zlly长了一张包子脸。他特别喜欢吃糖果,如今他手头有若干种糖果,每种糖果有个口味值。每种糖果有无数多个。然后娄童鞋也很喜欢吃糖果,他的口味特别广泛。他喜欢各种各样的口味值,他要求zlly用现有的口味值拼出新的口味值。如今,娄童鞋想知道他不能吃到的口味值最大是多少?你能帮他的忙吗?
举个样例。如今zlly手头有3,6,10三种糖果,他拼不出口味值为1、2、4、5、7…17的糖果。所以结果就是17。
另外。糖果种类数<=10,每种糖果的口味值<=265,能够保证最大的结果不超过2,000,000,000。假设都能够拼出或最大值不存在。输出0。
思路:
事实上2*1e9是虚的。
gcd(a1,...,an)!=1时,无解,
gcd(a1,...,an)==1时,有解,解的上界为max(ai*aj),不会证,
所以暴力就可以。
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=15;
const int MAX_N=1000005;
int a[N];
bool arr[MAX_N];
void gao(int n){
memset(arr,0,sizeof(arr));
int gcd=a[0];
for(int i=1;i<n;++i){
gcd=__gcd(gcd,a[i]);
}
if(gcd!=1){
puts("0");
return ;
}
int _min=300;
for(int i=0;i<n;++i)
_min=min(a[i],_min);
int cnt=0;
int ans;
arr[0]=1;
for(int i=1;i<MAX_N;++i){
for(int j=0;j<n;++j){
if(a[j]>i) continue;
if(arr[i-a[j]]){
arr[i]=1;
break;
}
}
if(arr[i]) ++cnt;
else cnt=0;
if(cnt==_min){
ans=i-_min;
break;
}
}
printf("%d\n",ans);
}
int main(){
int n;
while(scanf("%d",&n)!=EOF){
for(int i=0;i<n;++i){
scanf("%d",&a[i]);
}
gao(n);
}
return 0;
}

njoj 1251 zlly长了一张包子脸的更多相关文章

  1. 我和小美的撸码日记(1)之软件也需靠脸吃饭,带您做张明星脸(附后台经典框架 DEMO 下载)

    众所周知程序员得靠技术吃饭,但是真的光靠技术就够了吗?Teacher苍,一位德艺双馨的艺术家,论技术她自然是炉火纯青,我觉得她桃李遍天下的原因不仅限于些,试想如果Teacher苍长得跟凤姐一样再带点乡 ...

  2. 日入过百优质消除手游数据分享—萌萌哒包子脸爱消除(游戏开发引擎:libgdx)

    从2014年开始,消除游戏异常火爆,从消除小星星到腾讯的天天消除都赢得了海量用户.目前,各大市场上开心消消乐等游戏依旧火爆.消除游戏一直持续保持着女性和孩子的主流游戏地位.虽然市场上消除游戏种类很多, ...

  3. hdu 4427 Math Magic

    一个长了一张数学脸的dp!!dp[ i ][ s ][ t ] 表示第 i 个数,sum为 s ,lcm下标为 t 时的个数.显然,一个数的因子的lcm还是这个数的因子,所以我们的第三维用因子下标代替 ...

  4. 英语之路 zt

    各位为英语而郁闷的兄弟姐妹们: 自从考完GRE和TOEFL以后,心有所感,本想写点心得,但是因为太懒没写成.今日风雨如晦,心中又有所感,于是一舒笔墨,写下我学英语的方法.俺知道有很多兄弟姐妹们和曾经的 ...

  5. re.match re.search re.findall区别

    re正则表达式里面,常用的三种方法的区别. re.macth和search匹配得到的是match对象,findall得到的是一个列表. match从字符串开头开始匹配,search返回与正则表达式匹配 ...

  6. python多进程——进程间通信

    (一)进程锁 抢票的例子: # -*- coding:utf-8 -*- from multiprocessing import Process, Lock import time import js ...

  7. mysql分表的3种方法

    来源:http://blog.sina.com.cn/s/blog_640738130100tzeq.html 当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死 ...

  8. [No00007F]2016-面经[下] 英文简历写作技巧

    一.简历种类 1.中式 中式简历中,常包括政治面貌,性格及身高体重等.如果中英文简历一起递交,建议中文不写政治面貌,因为如果去外企工作,背景中的政治色彩越少越好,起码没有必要让老外知道. 性格是一个主 ...

  9. 音乐播放器 EasyMusic (一)

    EasyMusic 一. 代码获取 github 上链接为 https://github.com/VincentWYJ/EasyMusic, 感兴趣的朋友可以同步下来看, 欢迎提出宝贵意见或建议. 1 ...

随机推荐

  1. Linux分区,并且把新的分区挂载到指定的文件夹

    本教程为在已使用的Linux系统中新加入一个硬盘. 1.fdisk –l 查看:看到新加入硬盘hdd 2.输入:fdisk /dev/hdd 3.键入m查看有哪些命令: 4.键入p查看一下硬盘hdd的 ...

  2. [转]Python程序员必须知道的30条编程技巧

    30 tips & tricks for Python Programming 1  直接交换两个数字位置 x, y = 10, 20 print(x, y) x, y = y, x prin ...

  3. libqrencode 3.4.3 发布,二维码的C解析库

    libqrencode 3.4.3 的命令行增加了 --rle 参数,修复了开发库和命令行工具的一些小 bug. libqrencode (QRencode) 是一个用C语言编写的用来解析二维条形码( ...

  4. MVC中使用RazorPDF创建PDF

    这篇文章主要介绍使用Nuget package中的RazorPDF简单的创建PDF的方法. 关于RazorPDF 这个Nuget Package由Al Nyveldt创建.它内部使用ITextShar ...

  5. Windows 8.1 应用开发后台任务概述(Windows XAML)

    说到后台任务,这是在和许多 Android 开发者聊天的时候,经常被提起的话题之一, Windows 移动平台的后台任务的形式有别与 Android 的后台 service,简单的说在 Windows ...

  6. 在Win7 环境使用Java API 上传文件到 Hadoop2.x HDFS 问题统计

    问题一: org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security .AccessControlExc ...

  7. Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗、嗅探、dns欺骗、session劫持

    Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗.嗅探.dns欺骗.session劫持 文/玄魂 目录 Kali Linux Web 渗透测试—第十四课-arp欺骗.嗅探.dns欺 ...

  8. SRS用列建模

    基本规则: 五子棋是两个人之间进行的竞技活动,由于对黑方白方 规则不同,黑棋必须先行.五子棋专用盘为 15×15 , 五连子的方向为横.竖.斜. 禁手是对局中被判为负的行棋手段.白棋无禁手. 在棋盘上 ...

  9. [安卓] 9、线程、VIEW、消息实现从TCP服务器获取数据动态加载显示

    一.前言: 一般情况下从TCP服务器读取数据是放在一个线程里读的,但是刷新界面又不得不放在线程外面,所以需要用消息传递把线程里从TCP里获得的数据传送出来,然后根据数据对页面进行相应的刷新. 二.业务 ...

  10. 每天一个linux命令(5):rm 命令

    昨天学习了创建文件和目录的命令mkdir ,今天学习一下linux中删除文件和目录的命令: rm命令.rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所 ...