# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1175008 | FZ_Laabidi | Detecting Molecules (IOI16_molecules) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
std::vector<int> find_subset(int l, int u, std::vector<int> w) {
int sum =0;
sort(w.begin(), w.end());
for(int i: w)sum+=i;
int n = w.size();
vector<vector<int>> dp(sum+1);
for(int i=0; i<sum; i++){
for(int j=0; j<n; j++){
if(i>w[j]){
dp[i]=dp[i-w[j]];
dp[i].push_back(w[j]);
}
}
}
for(int i=l; i<=u; i++){
if(!dp[i].empty())return dp[i] ;
}
return {-1};
}
signed main(){
vector<int> vi = {5, 5, 5, 6};
find_subset(14, 15, vi);
}