Submission #346594

#TimeUsernameProblemLanguageResultExecution timeMemory
346594PetyDetecting Molecules (IOI16_molecules)C++14
100 / 100
83 ms5988 KiB
#include <bits/stdc++.h> #include "molecules.h" using namespace std; vector<int>array_sort; bool cmp (int a, int b) { return array_sort[a] < array_sort[b]; } vector<int> find_subset (int l, int u, vector<int>w) { int n = w.size(); vector<int>index; index.resize(n); for (int i = 0; i < n; i++) { index[i] = i; array_sort.push_back(w[i]); } sort(index.begin(), index.end(), cmp); sort(w.begin(), w.end()); int ind = n; long long sum =0; for (int i = n - 1; i >= 0; i--) { sum += w[i]; if (sum >= l) { ind = i; break; } } if (ind == n) return {}; ind = n - ind; sum = 0; for (int i = 0; i < ind; i++) sum += w[i]; if (sum > u) return {}; int dr = n - 1; while (ind <= dr && sum < l) { sum += w[dr]; sum -= w[n - dr - 1]; dr--; } int m = 0; vector<int>result; for (int i = n - dr - 1; i < ind; i++) result.push_back(index[i]); for (int i = dr + 1; i < n; i++) result.push_back(index[i]); return result; } /*int main() { vector<int>w; w.push_back(5); w.push_back(5); w.push_back(6); w.push_back(6); vector<int> result = find_subset(14, 15, w); for (auto it : result) cout << it << " "; return 0; }*/

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:45:7: warning: unused variable 'm' [-Wunused-variable]
   45 |   int m = 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...