| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 107195 | popovicirobert | Detecting Molecules (IOI16_molecules) | C++14 | 187 ms | 15196 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>
#define ll long long
using namespace std;
vector<int> find_subset(int l, int u, vector<int> w) {
    vector < pair <int, int> > arr(w.size());
    for(int i = 0; i < w.size(); i++) {
        arr[i] = {w[i], i};
    }
    sort(arr.begin(), arr.end());
    multiset <ll> mst;
    mst.insert(0);
    ll sum = 0;
    ll sl, sr = -1;
    for(auto it : arr) {
        sum += it.first;
        auto cur = mst.lower_bound(sum - u);
        if(cur != mst.end() && *cur <= sum - l) {
            sl = *cur;
            sr = sum;
            break;
        }
        mst.insert(sum);
    }
    vector <int> sol;
    if(sr == -1) {
        return sol;
    }
    sum = 0;
    for(int i = 0; i < arr.size(); i++) {
        sum += arr[i].first;
        if(sum > sl) {
            sol.push_back(arr[i].second);
        }
        if(sum == sr) {
            break;
        }
    }
    return sol;
}
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... | ||||
