Mai intai trebuie sa te autentifici.
Cod sursa(job #1668)
Utilizator | Data | 14 decembrie 2006 13:33:05 | |
---|---|---|---|
Problema | Loto | Scor | 15 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.86 kb |
#include<stdio.h>
unsigned long S,N[101],rez[7];
int gasit=0,n;
FILE *f=fopen("loto.in","r"),*g=fopen("loto.out","w");
void solve(unsigned long suma,unsigned long niv)
{
if(!gasit)
{
for(int i=1;i<=n;i++)
{
if(N[i]==suma&& niv==6)
{
rez[niv]=N[i];
gasit=1;
}
if(N[i]<suma && niv<6 && !gasit)
{
rez[niv]=N[i];
solve(suma-N[i],niv+1);
}
}
}
}
int main()
{
fscanf(f,"%d",&n);
fscanf(f,"%ld",&S);
for(int i=1;i<=n;fscanf(f,"%ld",&N[i]),i++);
fclose(f);
solve(S,1);
if(gasit)
for(int i=1;i<=6;fprintf(g,"%ld ",rez[i]),i++);
else
fprintf(g,"-1");
fclose(g);
return 0;
}