Cod sursa(job #445383)

Utilizator hendrikHendrik Lai hendrik Data 23 aprilie 2010 17:43:09
Problema Loto Scor 65
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <map>
using namespace std;

void open(){
	freopen("loto.in","r",stdin);
	freopen("loto.out","w",stdout);
}

int n,s,x[101],suma;
map<int,int>mp,m1,m2,m3;

int main(){
	open();
	scanf("%d%d",&n,&s);
	for (int i=0;i<n;i++) scanf("%d",&x[i]);
	for (int i=0;i<n;i++){
		for (int j=0;j<n;j++){
			for (int k=0;k<n;k++){
				suma=x[i]+x[j]+x[k];
				if (!mp[suma]){
					mp[suma]=1;
					m1[suma]=x[i];
					m2[suma]=x[j];
					m3[suma]=x[k];
				}
			}
		}
	}
	for (int i=0;i<n;i++){
		for (int j=0;j<n;j++){
			for (int k=0;k<n;k++){
				suma=(x[i]+x[j]+x[k]);
				if (mp[s-suma]){
					printf("%d %d %d %d %d %d\n",x[i],x[j],x[k],m1[s-suma],m2[s-suma],m3[s-suma]);
					return 0;
				}
			}
		}
	}
	printf("-1\n");
	return 0;
}