Submission #798189

#TimeUsernameProblemLanguageResultExecution timeMemory
798189LiudasDetecting Molecules (IOI16_molecules)C++17
46 / 100
1084 ms3540 KiB
#include <bits/stdc++.h> using namespace std; vector<int> find_subset(int L, int R, vector<int> M){ map<int, queue<int>> places; int N = M.size(); for(int i = 0; i < N; i ++){ places[M[i]].push(i); } map<int, int> sums; sums[0] = 0; for(int i = 0; i < N; i ++){ map<int, int> sums1; for(auto [l ,r] : sums){ if(sums.find(l + M[i]) == sums.end() && l + M[i] <= R) sums1[l + M[i]] = i; } for(auto [l, r] : sums1){ sums[l] = r; if(L <= l && l <= R){ i = N; break; } } } vector<int> p; for(int i = L; i <= R; i ++){ if(sums.find(i) != sums.end()){ int t = i; while(t){ p.push_back(sums[t]); t -= M[sums[t]]; } return p; } } 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...