Submission #737078

#TimeUsernameProblemLanguageResultExecution timeMemory
737078josanneo22Detecting Molecules (IOI16_molecules)C++17
100 / 100
57 ms5560 KiB
#include<bits/stdc++.h>
using namespace std;

#define pb push_back
#define pii pair<int,int>
#define fi first
#define se second 

#include "molecules.h"
int n;
pair<int, int> elem[200200];
 
vector<int> find_subset(int l, int u, vector<int> w) {
    n = (int) w.size();
    for (int i = 0; i < n; i++) {
        elem[i] = pair<int, int>(w[i], i);
    }
    sort(elem, elem + n);
    long long e = 0, sum = 0;
    for (int i = 0; i < n; i++) {
        while (e < n && sum < l) sum += elem[e++].first;
        if (sum >= l && sum <= u) {
            vector<int> r;
            for (int j = i; j < e; j++) r.push_back(elem[j].second);
            sort(r.begin(), r.end());
            return r;
        }
        sum -= elem[i].first;
    }
    return vector<int>();
}
#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...