Cod sursa(job #140754)

Utilizator swift90Ionut Bogdanescu swift90 Data 22 februarie 2008 11:17:42
Problema Loto Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<stdio.h>
#include<algorithm>
using namespace std;
int val[1001000];
int nr[110],x,sum,n;
void solve(int s){
	int i,j,k;
	for(i=0;i<n;++i){
		for(j=i;j<n;++j){
			for(k=j;k<n;++k){
				if(nr[i]+nr[j]+nr[k]==s){
					printf("%d %d %d",nr[i],nr[j],nr[k]);
					return;
				}
			}
		}
	}
}
int main(){
	freopen("loto.in","r",stdin);
	freopen("loto.out","w",stdout);
	int i,j,k,ok=1;
	scanf("%d%d",&n,&sum);
	for(i=0;i<n;++i)
		scanf("%d",&nr[i]);
	x=0;
	for(i=0;i<n;++i){
		for(j=i;j<n;++j){
			for(k=j;k<n;++k){
				val[x]=nr[i]+nr[j]+nr[k];
				++x;
			}
		}
	}
	sort(val,val+n);
	for(i=0;i<x && ok;++i){
		for(j=0;j<x && ok;++j)
			if(val[i]+val[j]==sum){
				solve(val[i]);
				printf(" ");
				solve(val[j]);
				printf("\n");
				ok=0;
			}
	}
	
	if(ok)
		printf("-1\n");
	
	fclose(stdin);
	fclose(stdout);
	return 0;
}