Submission #52139

#TimeUsernameProblemLanguageResultExecution timeMemory
52139aomeDetecting Molecules (IOI16_molecules)C++17
100 / 100
108 ms3384 KiB
#include "molecules.h"

#include <bits/stdc++.h>

using namespace std;

vector<int> find_subset(int low, int high, vector<int> w) {
	int n = w.size();
	vector<int> vec;
	for (int i = 0; i < n; ++i) {
		vec.push_back(i);
	}
	sort(vec.begin(), vec.end(), [&] (int x, int y) {
		return w[x] < w[y];
	});
	int l, r;
	long long sum;
	l = 0, r = -1, sum = 0;
	for (auto i : vec) {
		sum += w[i], r++;
		if (sum > high) sum -= w[vec[l++]];
		if (sum >= low && sum <= high) {
			vector<int> res;
			for (int j = l; j <= r; ++j) res.push_back(vec[j]);
			return res;
		}
	}
	return vector<int>();
}
#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...