# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
114534 | ly20 | Detecting Molecules (IOI16_molecules) | C11 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "molecules.h"
const int MAXN=11234;
int resp[MAXN],kn[MAXN];
int find_subset(int l,int u,int w[],int n,int result[])
{
for(int i=0;i<MAXN;i++)
{
kn[i]=-1;
}
kn[0]=-2;
for(int i=0;i<n;i++)
{
for(int j=MAXN-1;j>=w[i];j--)
{
if(kn[j-w[i]]!=-1 && kn[j]==-1)kn[j]=i;
}
}
int val=-1;
for(int i=l;i<=u;i++)
{
if(kn[i]!=-1)val=i;
}
if(val==-1)return 0;
int cont=0;
while(val>0)
{
result[cont]=kn[val];
val-=w[kn[val]];
cont++;
}