Submission #1323208

#TimeUsernameProblemLanguageResultExecution timeMemory
1323208jahinahnafDetecting Molecules (IOI16_molecules)C++20
0 / 100
0 ms332 KiB
#include <bits/stdc++.h> #include "molecules.h" using namespace std; std::vector<int> find_subset(int l, int u, std::vector<int> w) { vector<int> ans; int n = w.size(); vector<pair<int, int>> prefixSum(n); for (int i = 0; i < n; i++){ prefixSum[i].first = i; } prefixSum[0].second = w[0]; for (int i = 1; i < n; i++) { prefixSum[i].second = w[i] + prefixSum[i - 1].second; } sort(prefixSum.begin(), prefixSum.end(), [](const auto &a, const auto &b){ return a.second < b.second; }); for (int i = 0; i < n; i++) { ans.push_back(prefixSum[i].second); } bool paisi = false; int start = 0, end = 0; for (int i = 0; i < n; i++) { if (i == 0) { if (prefixSum[i].second >= min(l, u) && prefixSum[i].second <= max(l, u)) { paisi = true; start = prefixSum[0].first, end = prefixSum[i].first; } } else { for (int j = i; j < n; j++) { if (prefixSum[j].second - prefixSum[i].second >= min(l, u) && prefixSum[j].second - prefixSum[i].second <= max(l, u)) { paisi = true; start = prefixSum[i].first + 1, end = prefixSum[j].first; } } } } for (int i = min(start, end); i <= max(start, end); i++) { ans.push_back(i); } if (ans.size() > 0) { return ans; } 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...