Cod sursa(job #200307)

Utilizator tvladTataranu Vlad tvlad Data 23 iulie 2008 12:25:50
Problema Loto Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <cstdio>
#include <map>
using namespace std;

const int N = 100;

struct triplet {
	int x,y,z;
	triplet() { x = y = z = 0; };
	triplet ( int a, int b, int c ) { x = a; y = b; z = c; };
};

int n, s;
int v[N];
map<int, triplet> m;

int main() {
	freopen("loto.in","rt",stdin);
	freopen("loto.out","wt",stdout);
	scanf("%d %d",&n,&s);
	for (int i = 0; i < n; ++i) scanf("%d",&v[i]);
	for (int i = 0; i < n; ++i) {
		for (int j = 0; j < n; ++j) {
			for (int k = 0; k < n; ++k) {
				int sum = v[i]+v[j]+v[k];
				m[sum] = triplet(i,j,k);
				if (m.find(s-sum) != m.end()) {
					printf("%d %d %d %d %d %d\n",v[i],v[j],v[k],v[m[s-sum].x],v[m[s-sum].y],v[m[s-sum].z]);
					return 0;
				}
			}
		}
	}
	printf("-1\n");
	return 0;
}