Submission #571085

#TimeUsernameProblemLanguageResultExecution timeMemory
5710851neDetecting Molecules (IOI16_molecules)C++14
100 / 100
63 ms3788 KiB
#include <cstdio> #include <vector> #include <cassert> #include<bits/stdc++.h> #include "molecules.h" using namespace std; std::vector<int> find_subset(int l, int u, std::vector<int> arr) { int n = (int)arr.size(); vector<int>order(n); iota(order.begin(),order.end(),0); sort(order.begin(),order.end(),[&](int i,int j){ return arr[i]<arr[j]; }); int j = 0; long long sum = 0; vector<int>ans; deque<int>cur; while(true){ if (sum>=l && sum<=u){ for (auto x:cur)ans.push_back(x); return ans; } if (j < n && sum + arr[order[j]] <=u){ sum+=arr[order[j]]; cur.push_back(order[j]); ++j; } else if (!cur.empty()){ sum-=arr[cur.front()]; cur.pop_front(); } else break; } for (auto x:cur)ans.push_back(x); 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...