Submission #468573

#TimeUsernameProblemLanguageResultExecution timeMemory
468573PiejanVDCDetecting Molecules (IOI16_molecules)C++17
69 / 100
4 ms480 KiB
#include <molecules.h> #include <bits/stdc++.h> using namespace std; vector<int> find_subset(int l, int u, vector<int> ww) { int n = ww.size(); vector<pair<int,int>>w(n); for(int i = 0 ; i < n ; i++) { w[i].first=ww[i],w[i].second=i; } int cnt=0; sort(w.begin(),w.end()); int left=0,right=0; while(right < n) { if(cnt + w[right].first > u) break; cnt+=w[right].first; right++; } if(right == 0) return {}; bool f=false; while(right <= n) { if(cnt >= l && cnt <= u) { f=true; break; } if(right == n) break; cnt+=w[right].first; cnt-=w[left].first; right++,left++; } vector<int>ans={}; if(f) { for(; left < right ; left++) ans.push_back(w[left].second); } return ans; } /*signed main() { int n,l,u; cin >> n >> l >> u; vector<int>w(n); for(auto &z : w) cin >> z; vector<int>v = find_subset(l,u,w); for(auto x : v) cout << x << " "; }*/
#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...