Submission #762011

#TimeUsernameProblemLanguageResultExecution timeMemory
762011AirCirclesDetecting Molecules (IOI16_molecules)C++17
0 / 100
1 ms296 KiB
#include "molecules.h" #include <bits/stdc++.h> using namespace std; vector<int> find_subset(int l, int u, vector<int> w) { int n=w.size(); vector<pair<long long, long long> >dn(n); for(int i=0;i<n;i++){ dn[i].first=w[i]; dn[i].second=i; } sort(dn.begin(),dn.end()); vector<long long> mi(n,0),mx(n,0); mi[0]=dn[0].first; mx[0]=dn[n-1].first; for(int i=1;i<n;i++){ mi[i]=mi[i-1]+dn[i].first; mx[i]=mx[i-1]+dn[n-1-i].first; } vector<int>dm(0); for(int i=0;i<n;i++){ if(mi[i]>u){ break; } if(mx[i]<l){ continue; } if(mi[i]<=l&&mx[i]>=u){ long long k=mi[i]; int q=0; for(int j=0;j<n;j++){ if(k>=l){ q=j; break; }else{ k+=dn[n-1-j].first-dn[j].first; } } for(int j=q;j<=i;j++){ dm.push_back(dn[j].second); } for(int j=n-1;j>n-1-q;j--){ dm.push_back(dn[j].second); } } } return dm; }
#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...