Cod sursa(job #2054495)

Utilizator WebDesignbyTMGhiorghiu Ioan-Viorel WebDesignbyTM Data 2 noiembrie 2017 00:14:39
Problema Loto Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#define MD 5171
#define DM 101
#include <fstream>
#include <vector>
using namespace std;

struct str
{
	int val, x1, x2, x3;
};

ifstream fi ("loto.in");
ofstream fo ("loto.out");
int n, s, v[DM], sm, ind;
vector <str> hsh[MD];

int main()
{
	fi >> n >> s;
	for (int i = 1; i <= n; ++i)
		fi >> v[i];
	for (int i = 1; i <= n; ++i)
		for (int j = 1; j <= n; ++j)
			for (int k = 1; k <= n; ++k)
			{
				sm = v[i] + v[j] + v[k];
				ind = sm%MD;
				hsh[ind].push_back({sm, v[i], v[j], v[k]});
			}
	for (int i = 1; i <= n; ++i)
		for (int j = 1; j <= n; ++j)
			for (int k = 1; k <= n; ++k)
			{
				sm = v[i] + v[j] + v[k];
				if (sm <= s)
				{
					ind = (s - sm)%MD;
					for (int l = 0; l < hsh[ind].size(); ++l)
						if (hsh[ind][l].val == s - sm)
						{
							fo << v[i] << ' ' << v[j] << ' ' << v[k] << ' ' << hsh[ind][l].x1 << ' ' << hsh[ind][l].x2 << ' ' << hsh[ind][l].x3;
							return 0;
						}
				}
			}
	fo << -1;
	return 0;
}