Submission #1283613

#TimeUsernameProblemLanguageResultExecution timeMemory
1283613stanwaibbangeDetecting Molecules (IOI16_molecules)C++20
0 / 100
1 ms348 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{1}; 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)

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