This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
 
using namespace std;
 
vector<int>arr;
int n;
int dp[105][1005];
 
int f(int idx,int x,vector<int>vec,vector<int>weight)
{
    if(idx==n)
    {
        arr=vec;
        return 0;
    }
    if(dp[idx][x]!=-1)return dp[idx][x];
    int rez=0;
    rez=max(rez, f(idx+1,x,vec,weight));
    vector<int>pom;
    pom=vec;
    pom.push_back(idx);
    if(x-weight[idx]>=0)
    rez=max(rez, f(idx+1,x-weight[idx],pom,weight)+weight[idx]);
    return dp[idx][x]=rez;
}
 
vector<int> find_subset(int l, int u, vector<int> w)
{
    memset(dp,-1,sizeof dp);
    vector<int>v;
    queue<int>Q;
    n=w.size();
    int kol=f(0,u,v,w);
    if(kol<l)
    {
        return {};
    }
    return arr;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |