Submission #716936

#TimeUsernameProblemLanguageResultExecution timeMemory
716936Desh03Detecting Molecules (IOI16_molecules)C++17
31 / 100
1093 ms50352 KiB
#include <bits/stdc++.h> #include "molecules.h" using namespace std; vector<int> ans; vector<pair<int, int>> v; int n; bool dp[10000][10001]; int lb, rb; void recurse(int i, int sum, vector<int> k) { if (i == n) { if (sum >= lb && sum <= rb) ans = k; return; } if (dp[i][sum] || sum > rb || ans.size()) return; dp[i][sum] = 1; if (sum >= lb && sum <= rb) { ans = k; return; } recurse(i + 1, sum, k); k.push_back(v[i].second); recurse(i + 1, sum + v[i].first, k); } vector<int> find_subset(int l, int u, vector<int> w) { n = w.size(); for (int i = 0; i < n; i++) v.push_back({w[i], i}); sort(v.rbegin(), v.rend()); lb = l, rb = u; recurse(0, 0, ans); return ans; }
#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...