Submission #1283618

#TimeUsernameProblemLanguageResultExecution timeMemory
1283618stanwaibbangeDetecting Molecules (IOI16_molecules)C++20
100 / 100
36 ms3748 KiB
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
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());

    int l = 0;
    int r = -1;
    ll v = 0;
    for (int i{0}; i < n; ++i)
    {
        r += 1;
        v += ww[i].first;
        while (v > up)
        {
            v -= ww[l].first;
            l += 1;
        }
        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)

molecules.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
molecules_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...