Submission #881843

#TimeUsernameProblemLanguageResultExecution timeMemory
881843theghostkingDetecting Molecules (IOI16_molecules)C++17
0 / 100
1057 ms436 KiB
#include "molecules.h" #include <bits/stdc++.h> using namespace std; vector<int> find_subset(int l, int u, vector<int> w) { long long n = w.size(); vector<pair<long long,long long>> vec(n); for (long long i = 0; i<n; i++){ vec[i] = {w[i],i}; } sort(vec.begin(),vec.end()); vector<bool> vis(n); long long pt = n-1; long long cr = 0; while (pt >= 0){ if (cr < l){ cr += vec[pt].first; vis[pt] = true; pt--; } if (pt < 0) break; if ((l <= cr) && (cr <= u)){ break; } int lm = pt; //can go from 0...pt, and pt+1,...,n-1 int o = 0; int r = n-1; while (cr > u){ if (o > pt) break; if (r < pt) break; if (!(o<r)) break; cr -= vec[r].first; cr += vec[o].first; vis[r] = false; vis[o] = true; r--; o++; } if ((l <= cr) && (cr <= u)) break; } vector<int> ans; if (cr < l || cr > u){ return ans; } else{ for (long long i = 0; i<n; i++){ if (vis[i]) ans.push_back(i); } return ans; } }

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:25:13: warning: unused variable 'lm' [-Wunused-variable]
   25 |         int lm = pt;
      |             ^~
#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...