Pagini recente » Cod sursa (job #1757779) | Cod sursa (job #1150437) | Cod sursa (job #1869066) | Cod sursa (job #754263) | Cod sursa (job #2745536)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
unordered_map<int, pair<int, int> >h;
vector<int>a;
int n, s;
void Citire()
{
int i, x;
fin >> n >> s;
for(i = 1; i <= n; i++)
{
fin >> x;
a.push_back(x);
}
}
void Rezolvare()
{
int i, j, k, suma;
// toate sumele de cate 3 elemente
for(i = 0; i < (int)a.size(); i++)
for(j = i; j < (int)a.size(); j++)
for(k = j; k < (int)a.size(); k++)
{
suma = a[i] + a[j] + a[k];
h[suma] = {a[i], a[j]};
}
for(auto i : h)
{
// caut (s - suma din cele 3 elemente)
auto poz = h.find(s - i.first);
// daca gasesc afisez solutia
if(poz != h.end())
{
fout << i.second.first << " " << i.second.second << " " << i.first - i.second.first - i.second.second << " "
<< poz->second.first << " " << poz->second.second << " " << s - i.first - poz->second.first - poz->second.second << "\n";
return;
}
}
fout << -1;
}
int main()
{
Citire();
Rezolvare();
fin.close();
fout.close();
return 0;
}