Cod sursa(job #2896329)

Utilizator AntoniaPopoviciAntonia-Adelina Popovici AntoniaPopovici Data 29 aprilie 2022 22:06:56
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.03 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");

int i, j, n, m, v[101], s, k, l, t, r;
int cmp(int a, int b)
{
	return a > b;
}
int main()
{
	fin >> n >> s;
	for (i = 1; i <= n; i++)
		fin >> v[i];
	sort(v + 1, v + n + 1, cmp);
	for (i = 1; i <= n && v[i] * 6 >= s; i++)
		for (j = i; j <= n && v[i] + v[j] * 5 >= s && v[i] + 5 * v[n] <= s; j++)
			for (t = j; t <= n && v[i] + v[j] + 4 * v[t] >= s && v[i] + v[j] + v[n] * 4 <= s; t++)
				for (l = t; l <= n && v[i] + v[j] + v[t] + v[l] * 3 >= s && v[i] + v[j] + v[t] + v[n] * 3 <= s; l++)
					for (r = l; r <= n && v[i] + v[j] + v[t] + v[l] + v[r] * 2 >= s && v[i] + v[j] + v[t] + v[l] + v[n] * 2 <= s; r++)
						for (k = r; k <= n && v[i] + v[j] + v[t] + v[l] + v[r] + v[k] >= s; k++)
							if (v[i] + v[j] + v[t] + v[l] + v[r] + v[k] == s)
							{
								fout << v[i] << " " << v[j] << " " << v[t] << " " << v[l] << " " << v[r] << " " << v[k] << "\n";
								return 0;
							}
	fout << -1;
	return 0;
}