Submission #156586

#TimeUsernameProblemLanguageResultExecution timeMemory
156586InfiniteJestDetecting Molecules (IOI16_molecules)C++14
9 / 100
2 ms376 KiB
#include <iostream> #include <fstream> #include <vector> #include <queue> #include <algorithm> #include <math.h> #define pb push_back #define mp make_pair #define fi first #define se second using namespace std; ifstream in("input.txt"); ofstream out("output.txt"); typedef long long ll; int n; int ls,rs; vector<int> v; int res[100001]; pair<int,int> p[100001]; std::vector<int> find_subset(int l, int u, std::vector<int> w) { n=w.size(); int s=-1; int d=n-1; ll sum=0; bool flag=0; vector<int> sol; for(int i=0;i<n;i++){ p[i].fi=w[i]; p[i].se=i; } sort(p,p+n); while(s<n){ if(sum>u)break; while((sum<l||sum>u)&&d>s){ sum+=p[d].fi; d--; } d++; if(sum>=l&&sum<=u){ flag=1; break; } sum-=p[d].fi; s++; sum+=p[s].fi; } if(flag){ for(int i=0;i<=s;i++)sol.pb(p[i].se); for(int i=n-1;i>=d;i--)sol.pb(p[i].se); return sol; } return vector<int>(); }
#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...