Cod sursa(job #84954)

Utilizator Matei14Popa-Matei Mihai Matei14 Data 18 septembrie 2007 21:31:30
Problema Loto Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include<stdio.h>
int main(){
	long long s,v[100],max=0,min=60000,min2,i,j,a[6];
	int n,ok=1;
	freopen("loto.in","r",stdin);
	freopen("loto.out","w",stdout);
	scanf("%d",&n);
	scanf("%lld",&s);
	for(i=0;i<n;++i){
		scanf("%lld",&v[i]);
		if(v[i]<min)
			min=v[i];
		if(v[i]>max)
			max=v[i];
	}
	if(min*6>s || max*6<s)
		printf("-1\n");
	else{
		for(i=0;i<6;++i)
			a[i]=min;
		min2=min;
		while(ok){
			if((a[0]+a[1]+a[2]+a[3]+a[4]+a[5])==s)
				ok=0;
			else{
				for(i=5;i>=0 && ok;--i)
					if(a[i]!=max){
						ok=0;
						min=max;
						for(j=0;j<n;++j)
							if(v[j]<min && v[j]>a[i])
								min=v[j];
						a[i]=min;
					}
					else{
						min=max;
						for(j=0;j<n;++j)
							if(v[j]<min && v[j]>min2)
								min=v[j];
						a[i+1]=min;
						a[i]=min2;
					}
				ok=1;
			}
		}
		for(i=0;i<6;++i)
			printf("%lld ",a[i]);	
	}
	fclose(stdin);
	fclose(stdout);
	return 0;
}