제출 #1187024

#제출 시각아이디문제언어결과실행 시간메모리
1187024GoBananas69Detecting Molecules (IOI16_molecules)C++20
컴파일 에러
0 ms0 KiB
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
typedef long long ll;

vector<int> find_subset(int l, int u, const vector<int>& w) {
    int n = (int)w.size();
    if (n == 0)
        return {};

    int sum = 0;
    for (int x : w) sum += x;

    vector<vector<bool>> dp(n + 1, vector<bool>(sum + 1, false));
    dp[0][0] = true;
    for (int i = 1; i <= n; ++i)
        dp[i][0] = true;

    for (int i = 1; i <= n; ++i) {
        for (int j = 1; j <= sum; ++j) {
            dp[i][j] = dp[i - 1][j] || (j >= w[i - 1] && dp[i - 1][j - w[i - 1]]);
        }
    }

    for (int s = l; s <= u; ++s) {
        if (s <= sum && dp[n][s]) {
            int curr = s;
            vector<int> res;
            for (int i = n; i > 0 && curr > 0; --i) {
                if (curr >= w[i - 1] && dp[i - 1][curr - w[i - 1]]) {
                    res.push_back(i - 1);
                    curr -= w[i - 1];
                }
            }
            return res;
        }
    }
    return {};
}

// signed main() {
//     cin.tie(0)->sync_with_stdio(0);
//     vector<int> res = find_subset(15, 17, {8, 7});
//     for (int &i: res) {
//         cout << i << ' ';
//     }
// }

컴파일 시 표준 에러 (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/ccTyKtPE.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