Submission #330088

#TimeUsernameProblemLanguageResultExecution timeMemory
330088saarthakDetecting Molecules (IOI16_molecules)C++14
0 / 100
1 ms376 KiB
#include "molecules.h"
#include <bits/stdc++.h>

std::vector<int> find_subset(int l, int u, std::vector<int> w) {
	if(u == l) return std::vector<int>(1, 0);				//if the range is 0, all weights are same, return any
	
	int total_weight = 0, i = 0;
	std::queue<int> indices;
	
	std::sort(w.begin(), w.end());
	
	while(total_weight < l) {
		total_weight += w[i];
		indices.push(i++);
	}
	i = 0;
	while(total_weight > u) {
		total_weight -= w[i++];
		indices.pop();
	}
	
	if(total_weight < l || total_weight > u) return std::vector<int>();		//no subarray found
	
	std::vector<int> ans(indices.size());
  	i = 0;
	while(!indices.empty()) {
		ans[i++] = indices.front();
		indices.pop();
	}
	return ans;
}
#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...