Cod sursa(job #652066)

Utilizator Marius96Marius Gavrilescu Marius96 Data 22 decembrie 2011 20:15:09
Problema Loto Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<cstdio>
#include<algorithm>
using namespace std;

int i,i1,i2,i3,i4,i5,i6,n,s;
int v[105];

int main(){
	freopen("loto.in","r",stdin);
	freopen("loto.out","w",stdout);
	scanf("%d%d",&n,&s);
	for(i=0;i<n;i++)
		scanf("%d",v+i);
	sort(v,v+n);
	for(i1=0;i1<n;i1++){
		s-=v[i1];
		if(s<0){s+=v[i1];break;}
		for(i2=0;i2<n;i2++){
			s-=v[i2];
			if(s<0){s+=v[i2];break;}
			for(i3=0;i3<n;i3++){
				s-=v[i3];
				if(s<0){s+=v[i3];break;}
				for(i4=0;i4<n;i4++){
					s-=v[i4];
					if(s<0){s+=v[i4];break;}
					for(i5=0;i5<n;i5++){
						s-=v[i5];
						if(s<0){s+=v[i5];break;}
						for(i6=0;i6<n;i6++){
							s-=v[i6];
							if(s<0){s+=v[i6];break;}
							if(!s){
								printf("%d %d %d %d %d %d",v[i1],v[i2],v[i3],v[i4],v[i5],v[i6]);
								return 0;
							}
							s+=v[i6];
						}
						s+=v[i5];
					}
					s+=v[i4];
				}
				s+=v[i3];
			}
			s+=v[i2];
		}
		s+=v[i1];
	}
	printf("-1");
	return 0;
}