每日一题 5月28日货币系统 完全背包

题目链接:
图片说明
图片说明

#include <bits/stdc++.h>
#define LL long long
using namespace std;

int a[105];
bitset<25005> f;
int main(){

    int T; scanf("%d", &T);
    while(T--){
        f.reset();
        int n; scanf("%d", &n);
        for(int i=1; i<=n; i++){
            scanf("%d", &a[i]);
        }
        sort(a+1, a+1+n); f[0]=1;
        int ans=0;
        for(int i=1; i<=n; i++){
            if(f[a[i]]==0) ans++;
            for(int j=a[i]; j<=25005; j++){
                f[j]=f[j]|f[j-a[i]];
            }
        }
        cout<<ans<<endl;
    }

    return 0;
}
全部评论

相关推荐

牛客389580366号:读书的意义在于提升自己和他人吧,“阶级意识”是读书过程中的产出,“跨越阶级”是通过读书获得的能力
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务