| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 1283614 | stanwaibbange | Detecting Molecules (IOI16_molecules) | C++20 | 1096 ms | 3196 KiB | 
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
const int INF = 1'000'000'001;
std::vector<int> find_subset(int low, int up, std::vector<int> w)
{
    int n = w.size();
    vector<pair<int,int>> ww(n);
    for (int i{0}; i < n; ++i) {
        ww[i] = {w[i],i};
    }
    sort(ww.begin(), ww.end());
    vector<int> pre(n + 1);
    pre[0] = 0;
    for (int i{1}; i < n + 1; ++i)
    {
        pre[i] = pre[i - 1] + ww[i - 1].first;
    }
    for (int l{0}; l < n + 1; ++l)
    {
        for (int r{l}; r < n + 1; ++r)
        {
            int v = pre[r] - pre[l];
            if (low <= v && v <= up)
            {
                vector<int> out{};
                for (int i{l}; i < r; ++i)
                {
                    out.push_back(ww[i].second);
                }
                return out;
            }
        }
    }
    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... | ||||
