Pagini recente » Cod sursa (job #2229042) | Cod sursa (job #2440982) | Cod sursa (job #2189825) | Cod sursa (job #2392184) | Cod sursa (job #1772698)
#include <bits/stdc++.h>
#define MOD 7919
#define NMAX 100
using namespace std;
int n,a[NMAX],Sum;
vector <int> Hash[MOD+5];
inline void adauga(int sum)
{
int csum = sum % MOD;
Hash[csum].push_back(sum);
return ;
}
inline bool verifica(int sum)
{
if (sum<=0)return false;
int csum = sum%MOD;
for (auto &it : Hash[csum])
if (it==sum)return true;
return false;
}
int main()
{
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
scanf("%d %d\n", &n, &Sum);
for (int i = 1; i<=n; ++i)
scanf("%d", &a[i]);
for (int i = 1; i<=n; ++i)
for (int j = 1; j<=n; ++j)
for (int k = 1; k<=n; ++k)
{
int sum = a[i] + a[j] + a[k];
adauga(sum);
if (verifica(Sum-sum)==true)
{
printf("%d %d %d ", a[i], a[j], a[k]);
sum = Sum - sum;
for (int ii = 1; ii<=n; ++ii)
for (int jj = 1; jj<=n; ++jj)
for (int kk = 1; kk<=n; ++kk)
if (a[ii] + a[jj] + a[kk] == sum)
{
printf("%d %d %d\n", a[ii], a[jj], a[kk]);
return 0;
}
}
}
printf("-1\n");
return 0;
}