Cod sursa(job #2213468)

Utilizator memecoinMeme Coin memecoin Data 16 iunie 2018 14:33:31
Problema Loto Scor 75
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <stdio.h>
#include <vector>
#include <algorithm>
#include <math.h>
#include <map> 

using namespace std;

int n, s;
int a[105];

struct triple {
	int x, y, z;
};

map<int, triple> m;

int main() {
	freopen("loto.in", "r", stdin);
	freopen("loto.out", "w", stdout);

	scanf("%d %d", &n, &s);

	for (int i = 0; i < n; ++i) {
		int x;
		scanf("%d", &x);
		a[i] = x;
	}

	for (int i = 0; i < n; ++i) {
		for (int j = 0; j < n; ++j) {
			for (int k = 0; k < n; ++k) {
				m[a[i] + a[j] + a[k]] = { i, j, k };
			}
		}
	}

	for (int i = 0; i < n; ++i) {
		for (int j = 0; j < n; ++j) {
			for (int k = 0; k < n; ++k) {
				int x = s - a[i] - a[j] - a[k];
				if (x <= 0) {
					continue;
				}
				if (m.count(x) > 0) {
					auto t = m[x];
					printf("%d %d %d %d %d %d", a[t.x], a[t.y], a[t.z], a[i], a[j], a[k]);
					return 0;
				}
			}
		}
	}

	printf("-1");

	return 0;
}