Pagini recente » Cod sursa (job #122246) | Cod sursa (job #1307355) | Cod sursa (job #1633219) | Cod sursa (job #252553) | Cod sursa (job #2282854)
#include <fstream>
#include <unordered_map>
#include <vector>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int v[105];
struct ceva{
int v[3];
};
unordered_map <int, ceva > mp;
int main()
{
int 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 = i; j <= n; ++j)
for(int k = j; k <= n; ++k)
{
int val = v[i] + v[j] + v[k];
if(mp.find(val) == mp.end() && val <= s)
{
mp[val].v[0] = i;
mp[val].v[1] = j;
mp[val].v[2] = k;
}
int need = s - val;
if(need >= 0 && mp.find(need) != mp.end())
{
fout << v[mp[need].v[0]] << ' ' << v[mp[need].v[1]] << ' ' << v[mp[need].v[2]] << ' ' << v[i] << ' ' << v[j] << ' '<< v[k] << '\n';
return 0;
}
}
fout << -1 << '\n';
return 0;
}