题解 | 完全背包前置题

完全背包前置题

https://www.nowcoder.com/practice/f0b547a39938422ca79ebd2daa4b9e85

#include <iostream>
#include<vector>
using namespace std;

int main() {
    int n,k;
    cin>>n>>k;
    vector<int>v(n);
    for(int i=0;i<n;i++){
        cin>>v[i];
    }
    vector<bool>dp(k+1,false);
    dp[0]=true;
    for(int num:v){
        for(int j=num;j<=k;j++){
            if(dp[j-num])dp[j]=true;
        }
    }
    cout<<(dp[k]?"Yes":"No");
    return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务