Pagini recente » Cod sursa (job #2008689) | Cod sursa (job #2283225) | Cod sursa (job #1497006) | Cod sursa (job #2080864) | Cod sursa (job #2893492)
#include <bits/stdc++.h>
#define ull unsigned long long
#define FILES freopen("loto.in","r",stdin);\
freopen("loto.out","w",stdout);
#define CMAX 15485863
#define fastio std::ios_base::sync_with_stdio(NULL),cin.tie(NULL),cout.tie(NULL);
#define mp make_pair
#define INF 1e18
#define mod 666013
#define ll long long
#define SMAX 300
#define MAX 4000
#define pb push_back
#define add emplace_back
#define void inline void
using namespace std;
struct solve
{
int first, second, third;
};
int n,s,v[105];
unordered_map<int,solve> Mp;
int main()
{
FILES
cin >> n >> s;
for(int i = 1;i <= n; ++i)
cin >> v[i];
for(int i = 1;i <= n; ++i)
{
for(int j = i;j <= n; ++j)
{
for(int k = j;k <= n; ++k)
{
int u = v[i] + v[j] + v[k];
Mp[u] = {v[i],v[j],v[k]};
}
}
}
for(int i = 1;i <= n; ++i)
{
for(int j = i;j <= n; ++j)
{
for(int k = j;k <= n; ++k)
{
int u = v[i] + v[j] + v[k];
if(Mp.find(s-u) != Mp.end())
{
cout << Mp[s-u].first << ' ' << Mp[s-u].second << ' ' << Mp[s-u].third << ' ' << v[i] << ' ' << v[j] << ' ' << v[k];
exit(0);
}
}
}
}
cout << "-1";
}