Submission #88407

#TimeUsernameProblemLanguageResultExecution timeMemory
88407PajarajaDetecting Molecules (IOI16_molecules)C++17
100 / 100
70 ms7232 KiB
#include "molecules.h" #include <algorithm> #include <vector> using namespace std; struct h { long long v; int i; }; bool cmp(h a,h b){return a.v<b.v;}; h he[200000]; long long par[200001]; std::vector<int> find_subset(int l, int u, std::vector<int> w) { vector<int> sol; int n=w.size(); for(int i=0;i<n;i++) { he[i].i=i; he[i].v=w[i]; } sort(he,he+n,cmp); par[0]=0; for(int i=1;i<=n;i++) par[i]=par[i-1]+he[i-1].v; for(int i=0;i<n;i++) { if(!((par[n]-par[n-1-i]<l)||(par[i+1]>u))) { long long p=par[i+1]; for(int j=0;j<n-i;j++) { if(p>=l&&p<=u) { for(int g=0;g<i+1;g++) { sol.push_back(he[j+g].i); } return sol; } p-=he[j].v; p+=he[j+i+1].v; } } } return sol; }
#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...