Submission #715684

#TimeUsernameProblemLanguageResultExecution timeMemory
715684adrilenDetecting Molecules (IOI16_molecules)C++17
0 / 100
1 ms212 KiB
#include<bits/stdc++.h> using namespace std; using ll = long long; typedef pair<int, int> pii; #include "molecules.h" constexpr int maxu = 1e4 + 5; int last[maxu] = { 0 }; bool found[maxu] = { 0 }; std::vector<int> find_subset(int l, int u, std::vector<int> w) { found[0] = true; int highest = 0; int p; for (int v : w) { for (int i = highest; i >= 0; i--) { if (!found[i]) continue; // cout << i << endl; if (i + v >= maxu) continue; if (found[i + v]) continue; found[i + v] = true; last[i + v] = v; if (l <= i + v && i + v <= u) { p = i + v; goto finish; } } highest += v; } return vector<int>{}; finish: vector <int> output; // int i = 15; while (p != 0) { output.emplace_back(last[p]); // cout << "p" << p << endl; p -= last[p]; } return output; }
#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...