Submission #798317

#TimeUsernameProblemLanguageResultExecution timeMemory
798317LiudasDetecting Molecules (IOI16_molecules)C++17
9 / 100
2 ms512 KiB
#include <bits/stdc++.h> using namespace std; vector<int> find_subset(int L, int R, vector<int> M){ int N = M.size(); bitset<500000> bits; bits[0] = 1; for(int i = 0; i < N; i ++){ int a = M[i]; bits |= (bits << a); } int t = 0; for(int i = L; i <= R; i ++){ if(bits[i]){t = i;break;} } vector<int> p; for(int i = 0; i < N; i ++){ int s = 0, id = i; for(int j = i; j < N; j ++){ if(t >= M[j] && bits[t - M[j]] && s < M[j]){ s = M[j]; id = j; } } if(s){ p.push_back(id); t -= s; M[id] = 0; } } return p; }
#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...