NC201629. 卖箱人
描述
输入描述
第一行一个整数n第二行n个整数,
输出描述
输出无法组成出来的容量的个数,若有无限个,请输出INF
示例1
输入:
2 4 5
输出:
6
说明:
只有1, 2, 3, 6, 7, 11这6个数凑不出来示例2
输入:
2 4 6
输出:
INF
说明:
所有的奇数都无法被凑出来,所以是无限个C++ 解法, 执行用时: 5ms, 内存消耗: 592K, 提交时间: 2022-04-02 21:20:32
#include<bits/stdc++.h> using namespace std; int a[100000],dp[100000]; map<int,int>kl; int c[100000],n; int N=5e4+10; int main() { //首先有1绝对INF //没1绝对不INF cin>>n; int ans=0,x; dp[0]=1; for(int i=1;i<=n;i++) { cin>>x; for(int j=x;j<=N-1;j++) { dp[j]+=dp[j-x]; } } for(int i=1;i<=N-1;i++) { if(!dp[i]) ans++; } if(ans>=2500) cout<<"INF"; else cout<<ans; }