Pagini recente » Cod sursa (job #2390350) | Cod sursa (job #1851791) | Cod sursa (job #1586990) | Cod sursa (job #2390789) | Cod sursa (job #2274244)
#include <fstream>
#include <unordered_map>
#include <vector>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
long long v[105];
unordered_map <long long, vector<int> > mp;
int main()
{
long long n, s;
fin >> n >> s;
for(int i = 1; i <= n; ++i)
fin >> v[i];
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= n; ++j)
for(int k = 1; k <= n; ++k)
{
if(mp.find(v[i] + v[j] + v[k]) == mp.end())
{
mp[v[i] + v[j] + v[k]].push_back(i);
mp[v[i] + v[j] + v[k]].push_back(j);
mp[v[i] + v[j] + v[k]].push_back(k);
}
}
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= n; ++j)
for(int k = 1; k <= n; ++k)
{
long long val = v[i] + v[j] + v[k];
long long need = s - val;
if(need >= 0 && mp.find(need) != mp.end())
{
fout << v[mp[need][0]] << ' ' << v[mp[need][1]] << ' ' << v[mp[need][2]] << ' ' << v[i] << ' ' << v[j] << ' '<< v[k] << '\n';
return 0;
}
}
fout << -1 << '\n';
return 0;
}