题意
给 $n(1\le n\le 100)$ 个数$(1\le a_i\le 100)$,问由它们不能组合(加法)成的数(正整数)的个数,若有无穷个输出”INF”。
题解
若它们的公共 gcd 不为1,输出 INF,构造一个小顶堆,每次新加的值为堆顶的值加$a_i$ ,弹出堆顶,可证最大不可表示的值不会超过1e4,所以当堆顶大于1e4的时候跳出循环。
代码
1 |
|
给 $n(1\le n\le 100)$ 个数$(1\le a_i\le 100)$,问由它们不能组合(加法)成的数(正整数)的个数,若有无穷个输出”INF”。
若它们的公共 gcd 不为1,输出 INF,构造一个小顶堆,每次新加的值为堆顶的值加$a_i$ ,弹出堆顶,可证最大不可表示的值不会超过1e4,所以当堆顶大于1e4的时候跳出循环。
1 | #include <bits/stdc++.h> |