Cod sursa(job #715409)

Utilizator Vladtz7Dinu Vlad Vladtz7 Data 17 martie 2012 10:31:51
Problema Loto Scor 5
Compilator c Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <stdio.h>
int v[16];
int x[16];

int main()
{
	int n,s,i,j,s1,k,aux;
	int v[16];
	int x[16];
	freopen("loto.in","r",stdin);
	freopen("loto.out","w",stdout);
	scanf("%d %d\n",&n,&s);
	s1=0;
	for (i=1;scanf("%d",&x[i])!=EOF;i++);
	if (n<=6) {
		for (i=1;i<=n;i++)
		{
			s1+=x[i]; 
			v[i]=x[i];
		}
		k=0;
		for (j=n;j>=1;j--)
		{	
			while (s1+x[j]<=s && n+k<=6) {
				s1+=x[j];
				k+=1;
				v[n+k]=x[j];
				
			}
		}
	}
	else {
		k=1;
		while (s1+x[k]<=s){
			
			v[k]=x[k];
			s1+=v[k];
			k+=1;
			
		}
		for (j=n;j>=1;j--){
			while (s1+x[j]<=s && k<=6) 
				{
					if (s1+x[j]!=s || k==6){
				
				v[k]=x[j];
				s1+=x[j];
				k+=1;
				}
				else j-=1;
		}

	}
	}
	for (i=1;i<6-1;i++)
		for (j=i+1;j<6;j++)
			if (v[i] > v[j]){
			aux=v[j];
			v[j]=v[i];
			v[i]=aux;
			}
	if (s1==s) {
		for(i=1;i<=6;i++)
			printf("%d ",v[i]);
	}
	else printf("%d",-1);
	return 0;
}