# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
481219 | glome | Detecting Molecules (IOI16_molecules) | C++17 | 1090 ms | 27204 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#pragma GCC target ("avx2")
#pragma GCC optimization ("O3")
#pragma GCC optimization ("unroll-loops")
#include "molecules.h"
#include<bits/stdc++.h>
using namespace std;
struct S {
int b = 0;
vector<int> ind;
};
std::vector<int> find_subset(int l, int u, std::vector<int> w) {
int s = 0;
for (int i : w) {
s += i;
}
if(s == w.size()) {
if(l > w.size()) {
return vector<int> (0);
}
vector<int> ans;
for (int i = 0; i<l; i++) {
ans.push_back(i);
}
return ans;
}
vector<S> ok(10000+1);
ok[0].b = 1;
int cnt = 0;
for (int i : w) {
for (int j = u; j>=i; j--) {
if(ok[j-i].b) {
ok[j].ind = ok[j-i].ind;
ok[j].b = 1;
(ok[j].ind).push_back(cnt);
}
}
cnt++;
}
vector<int> ans;
for (int i = l; i<=u; i++) {
if(i > s) {
break;
}
if(ok[i].b) {
return ok[i].ind;
}
}
return ans;
}
Compilation message (stderr)
# | 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... |