Pagini recente » Cod sursa (job #423495) | Cod sursa (job #3294334) | Cod sursa (job #2999171) | Cod sursa (job #3235640) | Cod sursa (job #3288665)
#include <iostream>
#include <vector>
#include <algorithm>
#include <unordered_map>
using namespace std;
#define NMAX 101
struct triple{
int x, y, z;
};
int n, a[NMAX];
size_t sum;
unordered_map<size_t, triple> cb;
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
#ifdef LOCAL
freopen("date.in", "r", stdin);
#else
freopen("loto.in", "r", stdin);
freopen("loto.out", "w", stdout);
#endif
cin>>n>>sum;
for (int i=1; i<=n; ++i){
cin>>a[i];
}
for (int i=1; i<=n; ++i){
for (int j=1; j<=n; ++j){
for (int k=1; k<=n; ++k){
auto clc=a[i]+a[j]+a[k];
cb[clc]={.x=a[i], .y=a[j], .z=a[k]};
}
}
}
for (int i=1; i<=n; ++i){
for (int j=1; j<=n; ++j){
for (int k=1; k<=n; ++k){
auto clc=sum-(a[i]+a[j]+a[k]);
if (cb.count(clc)){
vector<int> sol;
sol.push_back(cb[clc].x);
sol.push_back(cb[clc].y);
sol.push_back(cb[clc].z);
sol.push_back(a[i]);
sol.push_back(a[j]);
sol.push_back(a[k]);
sort(sol.begin(), sol.end());
for (auto h:sol)cout<<h<<" ";
return 0;
}
}
}
}
cout<<"-1";
return 0;
}