Submission #299413

#TimeUsernameProblemLanguageResultExecution timeMemory
299413sandovalDetecting Molecules (IOI16_molecules)C++11
19 / 100
1 ms384 KiB
#include <bits/stdc++.h> using namespace std; using ii = pair<int,int>; using ll = long long; vector<int> find_subset(int l, int u, vector<int> w) { if (l > u) return {}; const int n = (int)w.size(); map<ll,int> m; m[0] = 0; ll sum = 0; for (int i = 1; i <= (int)n; ++i) { sum += w[i-1]; ll k = sum-l; auto it = m.upper_bound(k); if (it != m.begin()) { it = prev(it); ll o = sum-it->first; assert(o >= l); if (o <= u) { const int len = i-it->second; vector<int> res; for (int j = i-len+1, c = 0; j <= i; ++j, ++c) { res.push_back(j-1); } return res; } } m[sum] = i; } return {}; }
#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...