# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1020485 | vjudge1 | Detecting Molecules (IOI16_molecules) | C++17 | 322 ms | 2700 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 once
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int f[500001];
std::vector<int> find_subset(int l, int u, std::vector<int> w){
bitset<500001> dp;
dp[0] = 1;
for(int i = 0; i < w.size(); i++){
int x = w[i];
bitset<500001> ndp = dp | (dp << x);
ndp ^= dp;
for(int j = ndp._Find_first(); j <= 500000; j = ndp._Find_next(j)){
f[j] = i;
}
dp |= ndp;
}
for(int i = l; i <= u; i++){
if(dp[i]){
vector<int> ans;
for(int x = i; x > 0; x -= w[f[x]]){
ans.push_back(f[x]);
}
return ans;
}
}
return {};
}
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... |