每日一题 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;
}
全部评论

相关推荐

一颗宏心:华为HR晚上过了十二点后还给我法消息。
点赞 评论 收藏
分享
主页这么好的公司是谁在进啊:虽然很想感谢你的分享,但是此刻的嫉妒和酸气已经涌上心头,所以我撤销一下对你的感谢吧,希望你能原谅我
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务