Submission #210845

#TimeUsernameProblemLanguageResultExecution timeMemory
210845tatyamDetecting Molecules (IOI16_molecules)C++17
0 / 100
6 ms380 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; #include "molecules.h" #define rep(a) for(ll i = 0; i < a; i++) #define all(a) begin(a), end(a) #define sum(a) accumulate(all(a), 0LL) vector<int> find_subset(int l, int u, vector<int> w){ ll n = w.size(); vector<ll> a(n); iota(all(a), 0); sort(all(a), [&](ll a, ll b){ return w[a] < w[b]; }); if(w[a[0]] < l) return {}; if(u < sum(w)) return {}; ll s = 0, at = n; vector<int> ans; while(s <= u){ if(l <= s) return ans; ans.push_back(a[--at]); s += w[ans.back()]; } n = min<ll>(ans.size(), n - ans.size()); rep(n){ s -= w[ans[i]]; ans[i] = w[a[i]]; s += w[ans[i]]; if(l <= s) return ans; } 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...