Submission #1287534

#TimeUsernameProblemLanguageResultExecution timeMemory
1287534kutomei3Detecting Molecules (IOI16_molecules)C++20
100 / 100
34 ms4128 KiB
#include "molecules.h" #include <bits/stdc++.h> using namespace std; vector<int> find_subset(int l, int u, vector<int> w) { vector<pair<int, int>> wi; int n = w.size(); for (int i = 0; i < n; i++) { wi.push_back({w[i], i}); } sort(wi.rbegin(), wi.rend()); long long sum = 0, r = -1; for (int i = 0; i < n; i++) { sum += wi[i].first; if (sum > u) { r = i; break; } if (sum >= l && sum <= u) { vector<int> ans; for (int j = 0; j <= i; j++) { ans.push_back(wi[j].second); } sort(ans.begin(), ans.end()); return ans; } } // cout << sum << '\n'; int lu = n - 1; while (sum > u) { sum += wi[lu--].first - wi[r--].first; if (r == -1) break; } // cout << sum << '\n'; vector<int> ans; for (int i = 0; i <= r; i++) { ans.push_back(wi[i].second); } for (int i = w.size() - 1; i > lu; i--) { ans.push_back(wi[i].second); } sort(ans.begin(), ans.end()); if (sum >= l && sum <= u) return ans; else 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...