Pagini recente » Cod sursa (job #980025) | Cod sursa (job #709257) | Monitorul de evaluare | Cod sursa (job #316959) | Cod sursa (job #3341907)
#include <iostream>
#include <fstream>
#include <unordered_map>
#include <vector>
using namespace std;
long long n, s, a[105], i, j, k;
bool ok;
struct idk {
long long s;
int x, y, z;
} t, u;
vector <idk> v;
unordered_map <long long, idk> mp;
int main()
{
ifstream cin ("loto.in");
ofstream cout ("loto.out");
cin >> n >> s;
for( i = 1; i <= n; i++ ) {
cin >> a[i];
}
for ( i = 1; i <= n; i++ ) {
for ( j = i; j <= n; j++ ) {
for ( k = j; k <= n; k++ ) {
t.s = a[i] + a[j] + a[k];
t.x = a[i];
t.y = a[j];
t.z = a[k];
v.push_back(t);
}
}
}
for ( auto &it:v ) {
if ( !mp.count(it.s) ) {
mp[it.s] = it;
}
}
for ( auto &t:v ) {
long long r = s-t.s;
if ( mp.count(r) ) {
u = mp[r];
cout << t.x << ' ' << t.y << ' ' << t.z << ' ' <<u.x<< ' ' << u.y << ' ' << u.z;
ok = 1;
break;
}
}
if ( ok == 0 ) {
cout << "-1";
}
return 0;
}