Submission #114563

#TimeUsernameProblemLanguageResultExecution timeMemory
114563ly20Detecting Molecules (IOI16_molecules)C++14
46 / 100
1076 ms2432 KiB
#include<bits/stdc++.h>
#define debug(args...) //fprintf(stderr,args)
#include "molecules.h"
using namespace std;
const int MAXN=512345;
int kn[MAXN];
vector<int> find_subset(int l,int u,vector<int> w)
{
	int n=w.size();
	for(int i=0;i<MAXN;i++)
	{
		kn[i]=-1;
	}
	kn[0]=-2;
	int val=-1;
	for(int i=0;i<n;i++)
	{
		for(int j=u;j>=w[i];j--)
		{
			if(kn[j-w[i]]!=-1 && kn[j]==-1)
			{
				kn[j]=i;
				if(l<=j && j<=u)
				{
					val=j;
					i=n;
					break;
				}
			}
		}
	}
	vector<int> result;
	int cont=0;
	while(val>0)
	{
		result.push_back(kn[val]);
		val-=w[kn[val]];
		cont++;
	}
	//for(int i=0;i<cont;i++)resp[i]=result[i];
	return result;
}
/*int w[MAXN];
int v[MAXN];
int main()
{
	int l,u,n;
	scanf("%d %d %d",&l,&u,&n);
	for(int i=0;i<n;i++)scanf("%d",&w[i]);
	find_subset(l,u,w,n,v);
	for(int i=0;i<n;i++)printf("%d\n",w[resp[i]]);
}*/
#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...