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> find_subset(int L, int R, vector<int> M){
map<int, queue<int>> places;
int N = M.size();
for(int i = 0; i < N; i ++){
places[M[i]].push(i);
}
map<int, int> sums;
sums[0] = 0;
for(int i = 0; i < N; i ++){
map<int, int> sums1;
for(auto [l ,r] : sums){
if(sums.find(l + M[i]) == sums.end() && l + M[i] <= R)
sums1[l + M[i]] = i;
}
for(auto [l, r] : sums1){
sums[l] = r;
if(L <= l && l <= R){
i = N;
break;
}
}
}
vector<int> p;
for(int i = L; i <= R; i ++){
if(sums.find(i) != sums.end()){
int t = i;
while(t){
p.push_back(sums[t]);
t -= M[sums[t]];
}
return p;
}
}
return p;
}
# | 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... |