Cod sursa(job #3184734)

Utilizator ridicheTudor Diaconu ridiche Data 16 decembrie 2023 17:44:33
Problema Loto Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

ifstream in;
ofstream out;

struct chestie {
	int i1, i2, i3, s;
};

int n, s, a[105]; vector<chestie> v;

bool cmp(chestie a, chestie b)
{
	return a.s < b.s;
}

int main()
{
	in.open("loto.in");
	out.open("loto.out");
	in >> n >> s;
	for (int i = 0; i < n; i++)
	{
		in >> a[i];
	}
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			for (int k = 0; k < n; k++)
			{
				v.push_back({i,j,k,a[i]+a[j]+a[k]});
			}
		}
	}
	sort(v.begin(), v.end(), cmp);
	int pt2 = v.size()-1;
	for (int i = 0; i < v.size(); i++)
	{
		while (pt2 > 0 && v[i].s + v[pt2].s > s)
		{
			pt2--;
		}
		if (pt2 < 0)
			break;
		if (v[i].s + v[pt2].s == s)
		{
			out << a[v[i].i1] << " " << a[v[i].i2] << " " << a[v[i].i3] << " "
				<< a[v[pt2].i1] << " " << a[v[pt2].i2] << " " << a[v[pt2].i3];
			return 0;
		}
	}
	out << "-1";
	return 0;
}