Pagini recente » Cod sursa (job #671025) | Cod sursa (job #1271434) | Cod sursa (job #2250617) | Cod sursa (job #1845552) | Cod sursa (job #2743483)
#include <iostream>
#include <fstream>
#include <vector>
#include <unordered_map>
#include <tuple>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int N, S, dif, a, b;
vector<int> v;
unordered_map<int, tuple<int, int>> m;
int main()
{
int i, x, s1, s2, j;
f >> N >> S;
tuple<int, int> d(0,0);
for(i = 1; i <= N; i ++)
{
f >> x;
v.push_back(x);
}
for(i = 0; i < N; i++)
for(j = 0; j < N; j++)
m[v[i] + v[j]] = make_tuple(v[i], v[j]);
unordered_map<int,tuple<int,int>>::iterator q, r;
for(q = m.begin(); q != m.end(); q++)
for(r = m.begin(); r != m.end(); r++)
{
dif = S - q->first - r->first;
if(m.find(dif) != m.end())
{
a = get<0>(m[dif]);
b = get<1>(m[dif]);
g << get<0>(q->second) << " " << get<1>(q->second) << " " << get<0>(r->second) << " " << get<1>(r->second) << " " << a << " " << b;
return 0;
}
}
g << -1;
return 0;
}