Submission #1187025

#TimeUsernameProblemLanguageResultExecution timeMemory
1187025orgiloogiiDetecting Molecules (IOI16_molecules)C++20
0 / 100
100 ms131072 KiB
#include <bits/stdc++.h>
using namespace std;

vector<int> find_subset(int l, int u, vector<int> w) {
	int n = w.size();
	vector <pair <int, int>> p;
	p.push_back({0, 0});
	for (int i = 0;i < n;i++) {
		p.push_back({w[i], i});
	}
	sort(p.begin(), p.end());
	vector <int> res;
	int l1 = 1, r = 1;
	int suml = 0, sumr = 0;
	while (r <= n && l1 <= n) {
		if (sumr - suml < l) {
			sumr += p[r].first;
			r++;
		}
		if (p[r - 1].first - p[l1 - 1].first > u - l) {
			suml += p[l1].first;
			l1++;
		}
		if (sumr - suml > u) {
			suml += p[l1].first;
			l1++;
		}
		if (sumr - suml <= u && sumr - suml >= l && p[r].first - p[l1].first <= u - l) {
			while (l1 <= r) {
				res.push_back(p[l1].second);
			}
			return res;
		}
	}
	return res;
}

//int main() {
//}

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