# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
282077 | diegoangulo5 | Detecting Molecules (IOI16_molecules) | C++14 | 58 ms | 7656 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.
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> responder(vector<pair<int, int> > x, int a, int b){
vector<int> res;
for(;a<=b;a++){
res.push_back(x[a].second);
}
sort(res.begin(), res.end());
return res;
}
vector<int> find_subset(int l, int u, vector<int> w) {
vector<pair<int, int> >x;
for(int a=0;a<w.size();a++){
x.push_back(make_pair(w[a], a));
}
int lim = x.size();
sort(x.begin(), x.end());
for(int a=0;a<lim;a++){
x.push_back(make_pair(x[a].first, x[a].second));
}
int a=0, b=0;
int sum = x[a].first;
int tam = x.size();
while(1){
if(b-a+1 > lim)return vector<int>();
if(sum >= l && sum <= u){
return responder(x, a, b);
}
else if(sum > u){
sum -= x[a].first;
a++;
if(a==tam)return vector<int>();
if(a>b){
b++;
sum = x[b].first;
}
}
else if(sum<l){
b++;
if(b==tam)return vector<int>();
sum += x[b].first;
}
}
return vector<int>();
}
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... |