Submission #1243070

#TimeUsernameProblemLanguageResultExecution timeMemory
1243070CirclingDetecting Molecules (IOI16_molecules)C++20
0 / 100
0 ms328 KiB
#include <iostream> #include <iomanip> #include <utility> #include <vector> #include <set> #include <map> #include <queue> #include <stack> #include <algorithm> #include <cmath> #include <cstdint> #include "molecules.h" using namespace std; vector<int> find_subset(int l, int u, vector<int> w){ vector<pair<int64_t, int>> arr; for (int i = 0; i < w.size(); i++) arr.push_back({w[i], i + 1}); sort(arr.begin(), arr.end()); int64_t prefsum = 0, sufsum = 0, len = 0, currsum; while (len < w.size() && sufsum < l){ prefsum += arr[len].first; sufsum += arr[w.size() - 1 - len].first; len++; } if (len > w.size() || prefsum > u) return {}; vector<int> indices, ans; for (int i = 0; i < len; i++) indices.push_back(i); currsum = prefsum; for (int i = 0; currsum < l; i++){ currsum -= arr[indices[i]].first; indices[i] += len; currsum += arr[indices[i]].first; } for (int i = 0; i < len; i++) ans.push_back(arr[indices[i]].second); return ans; }

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