Submission #589872

#TimeUsernameProblemLanguageResultExecution timeMemory
589872Sam_a17Detecting Molecules (IOI16_molecules)C++14
31 / 100
59 ms65536 KiB
#define _CRT_SECURE_NO_WARNINGS #include <bits/stdc++.h> // #include "molecules.h" #include <cstdio> using namespace std; #define ll long long const int M = 1e6 + 10, N = 2e6 + 10; int n; bool dp[M]; vector<int> bit[N]; std::vector<int> find_subset(int l, int u, std::vector<int> w) { n = w.size(); vector<int> possible{0}; vector<int> answ; dp[0] = true; // sort(w.begin(), w.end()); for(int i = 0; i < n; i++) { vector<int> to_add; for(auto j: possible) { if(j + w[i] > u) { continue; } if(dp[j + w[i]]) { continue; } dp[j + w[i]] = true; to_add.push_back(j); } for(auto j: to_add) { bit[j + w[i]] = bit[j]; bit[j + w[i]].push_back(i); if(j + w[i] >= l && j + w[i] <= u) { return bit[j + w[i]]; } possible.push_back(j + w[i]); } sort(possible.begin(), possible.end()); } return answ; }
#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...