Pagini recente » Cod sursa (job #2033973) | Cod sursa (job #911703) | Cod sursa (job #2697153) | Cod sursa (job #1972022) | Cod sursa (job #642604)
Cod sursa(job #642604)
#include <cstdio>
#include <algorithm>
#include <set>
using namespace std;
#define file_in "loto.in"
#define file_out "loto.out"
int n,s,a[10],nr,v[161],gasit,suma1,suma2;
set<int> vv;
void citire()
{
int i;
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d %d", &n, &s);
for (i=1;i<=n;++i)
scanf("%d", &v[i]);
}
void find()
{
int i,j,k;
gasit=0;
for (i=1;i<=n;++i)
for (j=i;j<=n;++j)
for (k=j;k<=n;++k)
{
suma1=v[i]+v[j]+v[k];
suma2=s-suma1;
if (vv.find(suma2)!=vv.end())
{
gasit=1;
return ;
}
}
}
void solve()
{
int i,j,k;
for (i=1;i<=n;++i)
for (j=i;j<=n;++j)
for (k=j;k<=n;++k)
vv.insert(v[i]+v[j]+v[k]);
find();
if (gasit==0)
{
printf("-1\n");
}
else
{
for (i=1;i<=n;++i)
for (j=i;j<=n;++j)
for (k=j;k<=n;++k)
if (v[i]+v[j]+v[k]==suma1)
{
a[++nr]=v[i];
a[++nr]=v[j];
a[++nr]=v[k];
}
for (i=1;i<=n;++i)
for (j=i;j<=n;++j)
for (k=j;k<=n;++k)
if (v[i]+v[j]+v[k]==suma2)
{
a[++nr]=v[i];
a[++nr]=v[j];
a[++nr]=v[k];
}
for (i=1;i<=6;++i) printf("%d ", a[i]);
}
}
int main()
{
citire();
solve();
return 0;
}