Submission #1152823

#TimeUsernameProblemLanguageResultExecution timeMemory
1152823at128Detecting Molecules (IOI16_molecules)C++20
100 / 100
35 ms4116 KiB
#include <vector> #include <algorithm> using namespace std; vector<int> find_subset(int l, int u, vector<int> w) { vector<pair<int, int>> sorted_w; for (int i = 0; i < w.size(); ++i) { sorted_w.emplace_back(w[i], i); } sort(sorted_w.begin(), sorted_w.end()); // Check single elements for (auto &[weight, idx] : sorted_w) { if (weight >= l && weight <= u) { return {idx}; } } // Sliding window int n = sorted_w.size(); int left = 0; long long current_sum = 0; vector<int> result; for (int right = 0; right < n; ++right) { current_sum += sorted_w[right].first; while (current_sum > u && left <= right) { current_sum -= sorted_w[left].first; left++; } if (current_sum >= l) { for (int k = left; k <= right; ++k) { result.push_back(sorted_w[k].second); } sort(result.begin(), result.end()); return result; } } return {}; }

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...