Pagini recente » Cod sursa (job #846464) | Cod sursa (job #642998) | Cod sursa (job #2719843) | Cod sursa (job #1715770) | Cod sursa (job #2519817)
#include <fstream>
#include <vector>
#include <map>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int v[128], n, s;
bool found;
map<int, pair<int, int> > m;
vector <int> sums;
void citire() {
fin >> n >> s;
for(int i = 1; i <= n; i++)
fin >> v[i];
}
void solve() {
for(int i = 1; i<= n; i++)
for(int j = 1; j <= n; j++) {
//if(m.find(v[i]+v[j]) == m.end()) {
m[v[i]+v[j]] = {v[i], v[j]};
sums.push_back(v[i]+v[j]);
}
int l = sums.size();
for(int a = 0; a < l; a++)
for(int b = 0; b < l; b++)
for(int c = 0; c < l; c++)
if(sums[a]+sums[b]+sums[c] == s) {
found = true;
fout << m[sums[a]].first << ' ' << m[sums[a]].second << ' ' << m[sums[b]].first << ' ' << m[sums[b]].second << ' ' << m[sums[c]].first << ' ' << m[sums[c]].second;
return;
}
}
int main() {
citire();
solve();
if (!found) fout << -1;
}