Pagini recente » Cod sursa (job #1397634) | Cod sursa (job #1205335) | Cod sursa (job #229587) | Cod sursa (job #1978973) | Cod sursa (job #714251)
Cod sursa(job #714251)
#include<fstream>
#define MAXN 102
#define inf "loto.in"
#define outf "loto.out"
using namespace std;
ifstream in(inf);
ofstream out(outf);
int n,s,v[MAXN],a[7],k,m;
void read()
{
in>>n>>s;
for(int i=1;i<=n;i++)
in>>v[i];
}
void swap(int h[MAXN],int x,int y)
{
int aux=h[x];
h[x]=h[y];
h[y]=aux;
}
void heapify(int h[MAXN],int i)
{
int s,d,max=i;
s=2*i;
d=2*i+1;
if(s<=m && h[s]<h[i])
max=s;
if(d<=m && h[d]<h[max])
max=d;
if(max!=i)
{
swap(v,max,i);
heapify(h,max);
}
}
void heapsort(int h[MAXN])
{
int i;
for(i=m/2;i>=1;i--)
heapify(h,i);
for(i=2;i<=m;i++)
{
swap(v,1,m);
m--;
heapify(h,1);
}
}
int suma()
{
int sum=0;
for(int i=1;i<=6;i++)
sum=sum+a[i];
return sum;
}
int main()
{
read();
m=n;
heapsort(v);
int i1,i2,i3,i4,i5,i6;
for(i1=1;i1<=n;i1++)
for(i2=1;i2<=n;i2++)
for(i3=1;i3<=n;i3++)
for(i4=1;i4<=n;i4++)
for(i5=1;i5<=n;i5++)
for(i6=1;i6<=n;i6++)
if(v[i1]+v[i2]+v[i3]+v[i4]+v[i5]+v[i6]==s)
{
out<<v[i1]<<" "<<v[i2]<<" "<<v[i3]<<" "<<v[i4]<<" "<<v[i5]<<" "<<v[i6]<<" ";
return 0;
}
out<<"-1";
return 0;
}