Submission #1140805

#TimeUsernameProblemLanguageResultExecution timeMemory
1140805altern23Detecting Molecules (IOI16_molecules)C++20
Compilation error
0 ms0 KiB
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;

#define int long long

vector<int> find_subset(int l, int u, vector<int> w) {
    vector<pair<int, int>> W;
    for(int i = 0; i < w.size(); i++){
        W.push_back({w[i], i});
    }
    sort(W.begin(), W.end());
    int sum = 0;
    deque<int> cur;
    for(int i = 0; i < W.size(); i++){
        int id = W[i].second, val = W[i].first;
        sum += val, cur.push_back(id);
        if(l <= sum && sum <= u){
            vector<int> ans;
            for(;!cur.empty();){
                ans.push_back(cur.back()); cur.pop_back();
            }
            return ans;
        }
        if(sum > u){
            if(cur.size() == 1) break;
            sum -= w[cur.back()], cur.pop_back();
            for(int j = w.size() - 1; j >= i; --j){
                int id = W[j].second, val = W[j].first;
                sum += val, cur.push_back(id);
                sum -= w[cur.front()], cur.pop_front();
                if(l <= sum && sum <= u){
                    vector<int> ans;
                    for(;!cur.empty();){
                        ans.push_back(cur.back()); cur.pop_back();
                    }
                    return ans;
                }
            }
            break;
        }
    }

    return vector<int>(0);
}

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
      |         ^~~~
/usr/bin/ld: /tmp/ccAcqh6Y.o: in function `main':
grader.cpp:(.text.startup+0x173): undefined reference to `find_subset(int, int, std::vector<int, std::allocator<int> >)'
collect2: error: ld returned 1 exit status