Submission #773021

#TimeUsernameProblemLanguageResultExecution timeMemory
773021teokakabadzeDetecting Molecules (IOI16_molecules)C++17
100 / 100
42 ms8208 KiB
#include "molecules.h"
#include<bits/stdc++.h>
#define pb push_back
#define f first
#define s second
#define ll long long
using namespace std;

ll s, e, sum, i;

std::vector<int> find_subset(int l, int u, std::vector<int> a)
{
    vector<int> v;
    vector<pair<ll, ll>> w;
    ll n = a.size();
    for(i = 0; i < n; i++)
    w.pb({a[i], i});
    sort(w.begin(), w.end());
    s = e = 0, sum = w[0].f;
    bool f = 1;
    while(f)
    {
        //cout << s << ' ' << e << ' ' << sum << '\n';
        if(sum >= l && sum <= u)
        {
            for(i = s; i <= e; i++)
            v.pb(w[i].s);
            return v;
        }
        f = 0;
        while(e < n - 1 && sum < l)
        sum += w[++e].f, f = 1;
        while(s < e && sum > u)
        sum -= w[s++].f, f = 1;
    }
    return v;
}
#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...