Cod sursa(job #200311)

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

const int N = 100;

int n, s;
int v[N];
map<int, int> 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]);

	map<int, int>::iterator wh;
	for (int i = 0,j,k,sum, i2,j2,k2; i < n; ++i) {
		for (j = i; j < n; ++j) {
			for (k = j; k < n; ++k) {
				sum = v[i]+v[j]+v[k];
				m[sum] = i + j * 1000 + k * 1000000;
				wh = m.find(s-sum);
				if (wh != m.end()) {
					i2 = wh->second % 1000;
					j2 = (wh->second / 1000) % 1000;
					k2 = wh->second / 1000000;
					printf("%d %d %d %d %d %d\n",v[i],v[j],v[k],v[i2],v[j2],v[k2]);
					return 0;
				}
			}
		}
	}
	printf("-1\n");
	return 0;
}