lanqiao OJ 98 包子凑数

简介: lanqiao OJ 98 包子凑数

用户登录

#include<iostream>
#include<cstring>
#include<algorithm>
 
using namespace std ;
 
const int N = 1e6 ;
bool f[N] ;
int a[N] ;
int main(){
  int n ; cin >> n ;
  int g ;
  for(int i = 1 ; i <= n ; i++){
    cin >> a[i] ;
    if(i==1) g = a[i] ;
    else g = __gcd(g,a[i]) ;//记录所有包子数的一块的质数 , 如果所有数都互质,那就一定能凑出大部分数 
  }
  f[0] = 1 ;
  for(int i = 1 ;i <= n ;i ++){
    for(int j = 0 ;j <= 1e6 ; j ++ ){
      if(j >= a[i]) if(f[j-a[i]]) f[j] = 1 ;//递推合法状态 
    }
  }
  if(g!=1){
    cout << "INF" << endl ;
  }else {
    int ans = 0 ;
    for(int i = 0; i <= 1e6 ; i ++) if(!f[i])ans ++ ;
    cout << ans << endl ;
  }
 
}
目录
相关文章
|
3月前
lanqiao OJ 22年省赛 扫雷
lanqiao OJ 22年省赛 扫雷
34 1
|
3月前
lanqiao OJ 1388 寒假作业
lanqiao OJ 1388 寒假作业
40 0
|
3月前
lanqiao OJ 1505 剪邮票
lanqiao OJ 1505 剪邮票
30 0
|
3月前
lanqiao OJ 364 跳石头
lanqiao OJ 364 跳石头
37 6
|
3月前
lanqiao OJ 389 摆花
lanqiao OJ 389 摆花
21 2
|
3月前
lanqiao OJ 99 分巧克力
lanqiao OJ 99 分巧克力
16 1
|
3月前
lanqiao OJ 2097 青蛙过河
lanqiao OJ 2097 青蛙过河
15 0
|
3月前
lanqiao oj Frog
lanqiao oj Frog
26 0
|
3月前
lanqiao oj 186 糖果(状态压缩dp)
lanqiao oj 186 糖果(状态压缩dp)
23 0
|
3月前
lanqiao oj 17136 星球(状态压缩dp)
lanqiao oj 17136 星球(状态压缩dp)
15 0