Pagini recente » Cod sursa (job #2881319) | Cod sursa (job #1306811) | Cod sursa (job #293027) | Cod sursa (job #1065531) | Cod sursa (job #1068328)
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
int a[101],n,s,st[101];
int compar(const void *a,const void *b)
{
return ( *(int*)b - *(int*)a );
}
void afis()
{
for(int i=0; i<n; i++)
while(st[i])
{
printf("%d ",a[i]);
st[i]--;
}
}
int u=0;
void back(int k)
{
if(k<n)
{
if(u==6 && s==0)
{
afis();
exit (0);
}
else
{
for(int i=0; i<=s/a[k]; i++)
{
st[k]=i;
u+=i;
s-=i*a[k];
back(k+1);
s+=i*a[k];
st[k]=0;
u-=i;
}
}
}
}
int main()
{
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
scanf("%d%d",&n,&s);
int i;
for(i=0; i<n; i++)
scanf("%d",&a[i]);
qsort(a,n,sizeof(int),compar);
back(0);
printf("-1");
return 0;
}