Submission #997007

#TimeUsernameProblemLanguageResultExecution timeMemory
997007IcelastDetecting Molecules (IOI16_molecules)C++17
100 / 100
36 ms7276 KiB
#include "molecules.h" #include <iostream> #include <bits/stdc++.h> #define ll long long using namespace std; const ll maxn = 2*1e5+5, INF = 4e18+9; std::vector<int> find_subset(int low, int high, std::vector<int> w) { int n = w.size(); vector<pair<ll, ll>> a(n+1); for(int i = 0; i < n; i++){ a[i+1] = {w[i], i}; } sort(a.begin()+1, a.end()); int r = 0; ll sum = 0; vector<int> ans; for(int l = 1; l <= n; l++){ r = max(l-1, r); if(sum >= low && sum <= high){ for(int i = l; i <= min(r, n); i++){ ans.push_back(a[i].second); } return ans; } while(r < n && sum < low){ sum += a[r+1].first; r++; if(sum >= low && sum <= high){ for(int i = l; i <= r; i++){ ans.push_back(a[i].second); } return ans; } } sum -= a[l].first; } return std::vector<int>(0); }
#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...