Submission #1134232

#TimeUsernameProblemLanguageResultExecution timeMemory
1134232TroySerDetecting Molecules (IOI16_molecules)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; bool hasResponse = false; vector<int> best; void solution(int currInd, int currSum, vector<int> &currArray, int u, int l, int n, vector<int> &w, vector<vector<int> > &memo) { if (hasResponse) { return; } if (currSum > u || currInd > n) { return; } if (currInd == n && l <= currSum && currSum <= u) { // cout << "LOL" << hasResponse = true; best = currArray; return; } if (currInd == n) { return; } if (currInd != -1 && memo[currInd][currSum] == 0) { return; } if (0 <= currInd && currInd < n) { currSum += w[currInd]; } for (int ind = currInd + 1; ind <= n; ind++) { if (ind != n) currArray.push_back(ind); solution(ind, currSum, currArray, u, l, n, w, memo); if (ind != n) currArray.pop_back(); } if (currInd == -1 || currSum > u) { return; } memo[currInd][currSum] = 0; return; } vector<int> find_subset(int l, int u, vector<int> w) { int n = w.size(); best = {-1}; vector<int> arr; vector<vector<int> > memo; memo.resize(n, vector<int>(u + 1, -1)); solution(-1, 0, arr, u, l, n, w, memo); if (best[0] == -1) { return vector<int>(0); } else { return best; } } int main() { int u, l; vector<int> w; int n; cin >> n >> u >> l; w.resize(n); for (int i = 0; i < n; i++) { cin >> w[i]; } vector<int> res; res = find_subset(l, u, w); for (auto l: res) { cout << l << " "; } cout << endl; }

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/cc7mFbM7.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccr3oCva.o:molecules.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status