P1322 - [蓝桥杯2017初赛]包子凑数 - New Online Judgehttp://oj.ecustacm.cn/problem.php?id=1322
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int a[128]= {0};
int vis[10240]= {0};
int main() {
int n;
cin >> n;
for(int i=1; i<=n; i++) {
cin >> a[i];
vis[a[i]] = 1;
}
int g = a[1];
for(int i=2; i<=n; i++) {
g = __gcd(g, a[i]);
}
if (g != 1) {
cout << "INF";
return 0;
}
for(int i=1; i<=n; i++) {
for(int j=1; j < 10000; j++) {
if (vis[j]) {
vis[j+a[i]] = 1;
}
}
}
int ans=0;
for(int i = 1; i < 10000; i++) {
if(!vis[i]) {
ans ++;
}
}
cout << ans;
return 0;
}