Pagini recente » Cod sursa (job #742018) | Cod sursa (job #576565) | Cod sursa (job #1349339) | Cod sursa (job #865378) | Cod sursa (job #3131852)
#include <bits/stdc++.h>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
const int NMAX = 105;
int n, S, a[NMAX];
map<long long, vector<long long>> mp;
int main(){
f >> n >> S;
for(int i = 1; i <= n; ++i){
f >> a[i];
}
for(int i = 1; i <= n; ++i){
for(int j = i; j <= n; ++j){
for(int k = j; k <= n; ++k){
mp[a[i] + a[j] + a[k]] = {a[i], a[j], a[k]};
}
}
}
bool ok = false;
for(int i = 1; i <= n && !ok; ++i){
for(int j = i; j <= n && !ok; ++j){
for(int k = j; k <= n && !ok; ++k){
long long s = a[i] + a[j] + a[k];
if(mp.find(S - s) != mp.end()){
vector<long long> sol = mp[S - s];
g << sol[0] << " " << sol[1] << " " << sol[2] << " " << a[i] << " " << a[j] << " " << a[k];
ok = true;
}
}
}
}
if(!ok){
g << -1;
}
return 0;
}