Cod sursa(job #2740539)

Utilizator Alex18maiAlex Enache Alex18mai Data 13 aprilie 2021 14:49:35
Problema Loto Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.1 kb
//ALEX ENACHE

#include <vector>
#include <algorithm>

#include <math.h>
#include <iomanip>
#include <bitset>

#include <queue>
#include <deque>
#include <stack>
#include <string>

#include <map>
#include <unordered_map>
#include <set>
#include <unordered_set>

#include <random>
#include <time.h>
#include <assert.h>

using namespace std;

#include <fstream>

//ifstream cin("input"); ofstream cout("output");
ifstream cin("loto.in"); ofstream cout("loto.out");

const int MAXN = 105;

int v[MAXN];
unordered_map < int, vector < int > > M;


int main() {

	int n, s;
	cin >> n >> s;

	for (int i = 1; i <= n; i++) {
		cin >> v[i];
	}

	for (int i = 1; i <= n; i++) {
		for (int j = i; j <= n; j++) {
			for (int k = j; k <= n; k++) {
				vector < int > now = { v[i], v[j], v[k] };
				M[v[i] + v[j] + v[k]] = now;
				if (M[s - v[i] - v[j] - v[k]].size() == 3) {
					
					for (auto& x : M[s - v[i] - v[j] - v[k]]) {
						cout << x << " ";
					}
					cout << v[i] << " " << v[j] << " " << v[k] << '\n';
					return 0;
				}
			}
		}
	}

	cout << -1 << '\n';

}