Pagini recente » Cod sursa (job #1892611) | Cod sursa (job #2541980) | Cod sursa (job #894899) | Cod sursa (job #1862211) | Cod sursa (job #2345383)
#include <cstdio>
#include <algorithm>
using namespace std;
int v[105],w[105];
int n,s,con,sol=0;
void afis ()
{
int i;
sol=1;
for (i=1;i<=6;i++)
printf("%d ",w[i]);
}
int verif (int sum)
{
if (sum<=s)
return 1;
else
return 0;
}
int bac (int k,int sum)
{
int i;
if (k==7)
{
if (sum==s)
{
afis();
//break;
//return 0;
exit(0);
// exit (EXIT_FAILURE);
//endl;
}
}
else
{
for (i=con-1;i>=0;i--)
{
w[k]=v[i];
sum=sum+w[k];
//printf("%d %d %d\n",k,w[k],sum);
if (verif(sum)==1)
{
//k++;
//sum=sum+w[k];
bac (k+1,sum);
}
sum=sum-w[k];
}
}
}
int main()
{
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
int i,x;
scanf("%d%d",&n,&s);
con=0;
for (i=0;i<n;i++)
{
scanf("%d",&x);
if (x<=s-5)
{
v[con]=x;
con++;
}
}
sort (v,v+con);
bac(1,0);
if (sol==0)
printf("-1");
return 0;
}