Submission #708009

#TimeUsernameProblemLanguageResultExecution timeMemory
708009MODDIDetecting Molecules (IOI16_molecules)C++14
100 / 100
47 ms7080 KiB
//#include "molecules.h" #include <bits/stdc++.h> #define pii pair<int,int> #define ll long long #define vi vector<int> #define mp make_pair #define pb push_back #define fi first #define se second using namespace std; bool can[10000 * 10000]; vi get_ans(int l, int r, vector<pii> arr){ vi ans; for(int i = l; i <= r; i++){ ans.pb(arr[i].se); } return ans; } vector<int> find_subset(int d, int u, vector<int> w) { int n = w.size(); vector<pii> arr; for(int i = 0; i < n; i++) arr.pb(mp(w[i], i)); sort(arr.begin(), arr.end()); ll cur_sum = 0, l = 0; for(int i = 0; i < n; i++){ cur_sum = cur_sum + arr[i].fi; if(cur_sum < d) continue; else if(cur_sum >= d && cur_sum <= u) return get_ans(l, i, arr); else{ while(cur_sum > u){ cur_sum -= arr[l].fi; l++; } if(cur_sum >= d && cur_sum <= u) return get_ans(l, i, arr); } } 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...