Pagini recente » Cod sursa (job #2734528) | Cod sursa (job #1310986) | Cod sursa (job #218683) | Cod sursa (job #2286209) | Cod sursa (job #157959)
Cod sursa(job #157959)
#include<stdio.h>
#include<values.h>
int v[101],n,u[101];
long S,s;
int valid(int k)
{int i;
s=0;
for(i=1;i<=k;i++)
s+=v[i];
if(s>S) return 0;
return 1;
}
void afis(int k)
{int i;
FILE*g=fopen("loto.out","w");
for(i=1;i<=k;i++)
fprintf(g,"%d ",v[i]);
fclose(g);
}
void bkt(int k)
{int i;
for(i=1;i<=n;i++)
{if(k<=6) {v[k]=u[i];
if(valid(k)) if(k==6&&s==S) {afis(k);break;}
else bkt(k+1);}
}
}
int main()
{int i,max=0,min=MAXINT;
FILE*f=fopen("loto.in","r");
FILE*g=fopen("loto.out","w");
fscanf(f,"%d %ld",&n,&S);
for(i=1;i<=n;i++)
{fscanf(f,"%d",&u[i]);
if(u[i]>max) max=u[i];
if(u[i]<min) min=u[i];}
if(S>6*max||S<6*min) fprintf(g,"-1");
else bkt(1);
fcloseall();
return 0;
}