Pagini recente » Istoria paginii runda/simulareoji2020/clasament | Cod sursa (job #2021774) | Solutia problemei shoturi | Cod sursa (job #1389852) | Cod sursa (job #106566)
Cod sursa(job #106566)
/* 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;
long int numar;
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;
numar=N;
if (S>0)
{
i=N;
while (i>0)
{
ap[i]+=S/vec[i];
if (S/vec[i]>0)
numar+=S/vec[i];
S-=(S/vec[i])*vec[i];
i--;
}
if (S!=0)
fprintf(g,"-1");
else
if (numar>6)
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);
}