Submission #1004059

#TimeUsernameProblemLanguageResultExecution timeMemory
1004059spensaDetecting Molecules (IOI16_molecules)C++17
0 / 100
0 ms432 KiB
#include <bits/stdc++.h> #include <iostream> #include <vector> using namespace std; typedef long long ll; #define pb push_back #define mp make_pair #define FOR(i, a, b) for(int i=(signed)(a); i<=(signed)(b); i++) #define F0R(i, a) for(int i=(signed)(0); i<(signed)(a); i++) std::vector<int> find_subset(int l, int u, std::vector<int> w) { vector<pair<ll, int>> v; int N = w.size(); ll tsm = 0LL; FOR(i, 0, N-1){ v.pb(mp((ll) w[i], i)); tsm += w[i]; } if(tsm>l) return vector<int>(0); sort(v.begin(), v.end()); int a, b; a = b = 0; ll cur = v[0].first; vector<int> ans; if(cur>u) return vector<int>(0); if(cur>=l){ ans.pb(v[0].second); return ans; } while(b<N){ b++; cur += v[b].first; if(cur>=l && cur<=u){ break; } while(cur>u){ cur-=v[a].first; a++; } } tsm = 0; for(int i=a; i<=b; i++){ tsm += v[i].first; ans.pb(v[i].second); } if(tsm>=l && tsm<=u) return ans; return 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...