# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1104526 | ngano_upat_na | Detecting Molecules (IOI16_molecules) | C++17 | 0 ms | 0 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 optimize("O1,O2,O3,Ofast,unroll-loops")
#include "bits/stdc++.h"
#include "molecules.h"
using namespace std;
using ll = long long;
vector<int> find_subset(int l, int u, vector<int> w) {
srand(time(0));
int n = (int)w.size();
ll sum = 0;
for (int i=0; i<n; i++) {
sum += (ll)w[i];
}
if (sum == u) {
vector<int> res;
for (int i=0; i<n; i++) {
res.push_back(i);
}
return res;
}
if (sum < l) {
return {};
}
for (int i=0; i<2000; i++) {
set<int> s;
for (int j=0; j<n; j++) {
int r = rand()%n;
s.insert(r);
}
sum = 0;
for (auto &e:s) {
sum += w[e];
}
if (l <= sum && sum <= r) {
vector<int> res;
for (auto &e:s) {
res.push_back(e);
}
return res;
}
}
return {};
}