Submission #1226959

#TimeUsernameProblemLanguageResultExecution timeMemory
1226959lacitoDetecting Molecules (IOI16_molecules)C++20
100 / 100
34 ms3656 KiB
#include <bits/stdc++.h> #include "molecules.h" using namespace std; std::vector<int> find_subset(int l, int u, std::vector<int> w) { int n = w.size(); vector<pair<int, int>> items(n); for (int i = 0; i < n; i++) { items[i].first = w[i]; items[i].second = i; } sort(items.begin(), items.end()); long long small = 0, big = 0; for (int k = 1; k <= n; k++) { small += items[k-1].first; big += items[n-k].first; if (small > u || big < l) continue; long long sum = small; if (l <= sum && sum <= u) { vector<int> solution; for (int j = 0; j < k; j++) { solution.push_back(items[j].second); } return solution; } for (int i = k; i < n; i++) { sum += items[i].first; sum -= items[i-k].first; if (l <= sum && sum <= u) { vector<int> solution; for (int j = i - k + 1; j <= i; j++) { solution.push_back(items[j].second); } return solution; } } } return std::vector<int>(0); }

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