Submission #50197

#TimeUsernameProblemLanguageResultExecution timeMemory
50197hugo_pmDetecting Molecules (IOI16_molecules)C++14
100 / 100
92 ms26904 KiB
#include <bits/stdc++.h>
#pragma GCC diagnostic ignored "-Wunused-result"
using namespace std;
typedef long long ll;

vector<int> find_subset(int l, int u, vector<int> w)
{
    vector<pair<int, int>> rafin(w.size());
    for (int i = 0; i < (int)(w.size()); ++i) rafin[i] = {w[i], i};
    sort(rafin.begin(), rafin.end());
    sort(w.begin(), w.end());
    ll somme = 0;
    int k = w.size() - 1;
    int i = k;
    while ((somme < (ll)(l) || somme > (ll)(u)) && (i >= 0 && k >= 0))
    {
        if (somme < l) { somme += (ll)(w[i]); --i; }
        else { somme -= (ll)(w[k]); --k; }
    }
    if (somme < (ll)(l) || somme > (ll)(u)) return {};
    ++i;
    vector<int> ans(k-i+1);
    for (int o = i; o <= k; ++o) ans[o-i] = rafin[o].second;
    return ans;
}
#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...