Submission #1307429

#TimeUsernameProblemLanguageResultExecution timeMemory
1307429the_commando_xDetecting Molecules (IOI16_molecules)C++17
100 / 100
33 ms3744 KiB
#include <vector>

#include "molecules.h"

#include <algorithm>

std::vector<int> find_subset(int x, int y, std::vector<int> w)
{
    int n = w.size();

    std::vector<std::pair<int, int>> a(n);
    for (int i = 0; i < n; ++i)
        a[i] = {w[i], i};

    std::sort(a.begin(), a.end());

    long long sum = 0;

    int l = 0, r = 0;
    while (r < n)
    {
        sum += a[r].first;

        while (sum > y && l <= r)
            sum -= a[l++].first;

        if (sum >= x && sum <= y)
        {
            std::vector<int> ans;
            for (int i = l; i <= r; ++i)
                ans.push_back(a[i].second);

            return ans;
        }
        ++r;
    }

    return std::vector<int>(0);
}

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...