Submission #1314076

#TimeUsernameProblemLanguageResultExecution timeMemory
1314076activedeltorreDetecting Molecules (IOI16_molecules)C++20
0 / 100
1 ms332 KiB
#include "molecules.h" #include <vector> #include <algorithm> using namespace std; long long spar[1000005]; vector<int>makevec(int st,int dr) { vector<int>rez; for(int i=st;i<=dr;i++) { rez.push_back(i); } return rez; } std::vector<int> find_subset(int l, int u, std::vector<int> w) { int n=w.size(); sort(w.begin(),w.end()); for(int i=1;i<=n;i++) { spar[i]=spar[i-1]+w[i]; } for(int pref=1;pref<=n;pref++) { if(spar[pref]>=l && spar[pref]<=u) { return makevec(1,pref); } } for(int suf=1;suf<n;suf++) { if(spar[n]-spar[suf]>=l && spar[n]-spar[suf]<=u) { return makevec(suf+1,n); } } int can=0; for(int k=1;k<=n;k++) { if(spar[k]>u) { can=k-1; break; } } for(int i=1;i+can-1<=n;i++) { if(spar[i+can-1]-spar[i-1]>=l && spar[i+can-1]-spar[i-1]>=u) { return makevec(i,i+can-1); } } return std::vector<int>(0); }

Compilation message (stderr)

molecules.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
molecules_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...