Submission #1116721

#TimeUsernameProblemLanguageResultExecution timeMemory
1116721SalihSahinDetecting Molecules (IOI16_molecules)C++14
0 / 100
1 ms504 KiB
#include <bits/stdc++.h> #define pb push_back using namespace std; #include "molecules.h" vector<int> find_subset(int l, int u, vector<int> w) { int n = w.size(); vector<pair<int, int> > a(n); for(int i = 0; i < n; i++){ a[i] = {w[i], i}; } sort(a.begin(), a.end()); vector<int> pre(n+1); for(int i = 0; i < n; i++){ pre[i+1] = pre[i] + a[i].first; } vector<int> ans; int r = 0; for(int i = 0; i < n; i++){ while(r < n && a[r].first - a[i].first <= u - l) r++; bool ok = 0; for(int cnt = 1; cnt <= (r - i); cnt++){ int suml = pre[i + cnt] - pre[i]; int sumr = pre[r] - pre[r - cnt]; if(sumr >= l && suml <= u) ok = 1; } if(ok){ for(int j = i; j < r; j++) ans.pb(a[j].second); break; } } 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...