Submission #229490

#TimeUsernameProblemLanguageResultExecution timeMemory
229490TehillahDetecting Molecules (IOI16_molecules)C++14
0 / 100
4 ms256 KiB
#include "molecules.h" #include <algorithm> #define ff first #define ss second #define REP(i, a, b) for(int i=(int)(a); i<(int)(b); ++i) using ll = long long; using namespace std; const int N = 200005; pair<ll, int> we[N]; std::vector<int> find_subset(int l, int u, std::vector<int> w) { int n = w.size(); REP(i, 1, n+1) { we[i].ff = w[i-1]; we[i].ss = i; } vector<int> ret; sort(we+1, we+n+1); REP(i, 1, n+1) we[i].ff += we[i-1].ff; int ri = 1, le = 1; while(ri <= n) { while(ri <= n && we[ri].ff - we[le-1].ff < l) ++ri; while(le <= ri && ri <= n && we[ri].ff - we[le-1].ff > u) ++le; if(le <= ri && ri <= n && we[ri].ff - we[le-1].ff >= l && we[ri].ff - we[le-1].ff <= u) { REP(i, le, ri+1) ret.push_back(we[i].ss-1); return ret; } } ret.push_back(-1); return ret; }
#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...