比赛 2025暑假集训第一场 评测结果 WWWWWWWWWWWWWWWWWWWA
题目名称 挑战 NPH 最终得分 5
用户昵称 Hollow07 运行时间 3.387 s
代码语言 C++ 内存使用 4.53 MiB
提交时间 2025-06-25 10:37:23
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

ll t,n,k;
ll w[110000];
ll dp[110000];
ll num;

int main(){
    freopen("NPH.in","r",stdin);
    freopen("NPH.out","w",stdout);
    cin>>t;
    while(t--){
        cin>>n>>k;
        for (int i=1;i<=n;i++){
            cin>>w[i];
        }
        num=0;
        memset(dp,0,sizeof(dp));
        dp[0]=1;
        for (int i=1;i<=n;i++){
            for (int j=w[i];j<=100000;j++){
                if (j-w[i]>=0){
                    dp[j]+=dp[j-w[i]];
                }
            }
        }
        for (int i=1;i<=100000;i++){
            num+=dp[i];
            if (num>=k){
                cout<<i<<endl;
                break;
            }
        }
//        for (int i=1;i<=100;i++){
//            cout<<dp[i]<<" ";
//        }
//        cout<<endl;
    }
    fclose(stdin);
    fclose(stdout);
    return 0;
}