Cod sursa(job #106551)

Utilizator BuniakovskiNeguletu Octavian Buniakovski Data 18 noiembrie 2007 19:07:19
Problema Loto Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.94 kb
/* Se considera ca un concurent,avand o revelatie,stie k suma
   numerelor castigatoare la Loto 6/49 va fi S.Dandu-se N,nr de
   numere castigatoare,si cele N numere,sa se afiseze o configuratie
   a unui bilet castigator.Se pot alege mai multe numere.
    Ex: 13 3
	1 2 3       afis 1 1 2 3 3
								*/
#include <stdio.h>

long int S;
int N;
long int Suma;
long int vec[1000];
long int ap[1000];
FILE *f;
FILE *g;
int j;

int main(void){
 int i;

 f=fopen("loto.in","r");
 g=fopen("loto.out","w");

 fscanf(f,"%d %ld",&N,&S);
 for (i=1;i<=N;i++)
 {
  fscanf(f,"%ld",&vec[i]);
  Suma+=vec[i];
 }
 if (Suma<=S)
 for (i=1;i<=N;i++)
 ap[i]=1;
 i=N;
 S=S-Suma;
 if (S>0)
 {
  i=N;
  while (i>0)
  {
   ap[i]+=S/vec[i];
   S-=(S/vec[i])*vec[i];
   i--;
  }
  if (S!=0)
  fprintf(g,"-1");
  else
  {
   for (i=1;i<=N;i++)
   for (j=1;j<=ap[i];j++)
    fprintf(g,"%ld",vec[i]);
  }
  }
fclose(g);
return (0);
}