Submission #114826

#TimeUsernameProblemLanguageResultExecution timeMemory
114826ly20Detecting Molecules (IOI16_molecules)C++14
100 / 100
59 ms8928 KiB
#include<bits/stdc++.h> #include "molecules.h" #define debug(args...) //fprintf(stderr,args) using namespace std; const int MAXN=212345; long long s[MAXN]; vector<int> find_subset(int l,int u,vector<int> w) { vector<pair<long long,int> > w1; vector<int> resp; int n=w.size(); for(int i=0;i<n;i++)w1.push_back(make_pair(w[i],i)); sort(w1.begin(),w1.end()); s[0]=0; for(int i=1;i<=n;i++)s[i]=s[i-1]+w1[i-1].first; int ini=0,fim=0; while(fim<=n) { if(s[fim]-s[ini]<l)fim++; else if(s[fim]-s[ini]>u)ini++; else break; } debug("%d %d %lld\n",ini,fim,s[fim]-s[ini]); if(s[fim]-s[ini]<l || s[fim]-s[ini]>u)return resp; for(int i=ini;i<fim;i++)resp.push_back(w1[i].second); return resp; } /*int main() { vector<int> v; int n,l,u; scanf("%d %d %d",&n,&l,&u); vector<int> r; for(int i=0;i<n;i++) { int a; scanf("%d",&a); v.push_back(a); } r=find_subset(l,u,v); for(int i=0;i<r.size();i++)printf("%d ",r[i]); printf("\n"); return 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...