Submission #88254

#TimeUsernameProblemLanguageResultExecution timeMemory
88254amiratouDetecting Molecules (IOI16_molecules)C++14
0 / 100
1088 ms592 KiB
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> vec,ans;
bool used[200005];
//unordered_map<long long,bool> mymap;
int n,L,R;
bool solve(long long sum,int idx){
	if(sum>R)
		return 0;
	if(sum>=L&&sum<=R){
		for (int i = 0; i < n; ++i)
		{
			if(used[i])
				ans.push_back(i);
		}
		return 1;
	}
	//if(mymap.find(sum)!=mymap.end())
	//	return 0;
	for (int i = idx+1; i < n; ++i)
	{
		used[i]=1;
		if(solve(sum+vec[i],i))return 1;
		//mymap[sum]=1;
		used[i]=0;
	}
	return 0;
}
std::vector<int> find_subset(int l, int u, std::vector<int> w) {
	n=w.size();
	L=l;R=u;
	vec=w;
	if(!solve(0,-1))
		return vector<int>(0);
    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...