Submission #1238272

#TimeUsernameProblemLanguageResultExecution timeMemory
1238272kaltspielerhyDetecting Molecules (IOI16_molecules)C++20
100 / 100
33 ms4424 KiB
#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<int> ord(w.size());
    iota(ord.begin(), ord.end(), 0);
    sort(ord.begin(), ord.end(), [&](int i, int j)
         { return w[i] < w[j]; });
    int N = w.size();
    vector<ll> sommeCum(N+1, 0);
    for (int i = 1; i <= N; i++) {
        sommeCum[i] = sommeCum[i-1]+w[ord[i-1]];
    }

    int end = 1;
    for (int iDep = 1; iDep <= N; iDep++) {
        while (sommeCum[iDep]-sommeCum[end-1] > u) {
            end++;
        }

        if (sommeCum[iDep]-sommeCum[end-1] >= l) {
            vector<int> res;
            for (int i = end; i <= iDep; i++) {
                res.push_back(ord[i-1]);
            }
            return res;
        }
    }

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