Submission #1024098

#TimeUsernameProblemLanguageResultExecution timeMemory
1024098vaneaDetecting Molecules (IOI16_molecules)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
#include "molecules.h"
using namespace std;
using ll = long long;

const ll INF = 1e18;

vector<int> find_subset(ll l, ll u, vector<ll> w) {
    set<array<ll, 2>, greater<array<ll, 2>>> s;
    multiset<pair<ll, int>> w1;
    int n = w.size();
    s.insert({0, 0});
    ll ans = 0;
    for(int i = 0; i < n; i++) {
        if(w[i] > u) continue;
        w1.insert({w[i], i});
        auto it = s.lower_bound({u-w[i], INF});
        if(it != s.end()) {
            ans = max(ans, w[i]+(*it)[0]);
            s.insert({(*it)[0]+w[i], w[i]});
        }
        if((*it)[0] != 0) s.insert({w[i], w[i]});
    }
    if(ans < l) return {};
    vector<int> res;
    while(ans != 0) {
        auto it = s.lower_bound({ans, INF});
        ll curr = (*it)[1];
        ans -= curr;
        auto it1 = w1.lower_bound({curr, INF});
        res.push_back((*it1).second);
        w1.erase(it1);
    }
    sort(res.begin(), res.end());
    return res;
}

Compilation message (stderr)

/usr/bin/ld: /tmp/ccZG5q55.o: in function `main':
grader.cpp:(.text.startup+0x18d): undefined reference to `find_subset(int, int, std::vector<int, std::allocator<int> >)'
collect2: error: ld returned 1 exit status