Pagini recente » Cod sursa (job #305390) | Cod sursa (job #1759771) | Cod sursa (job #2348155) | Cod sursa (job #440652) | Cod sursa (job #109090)
Cod sursa(job #109090)
#include <fstream.h>
long s,v[101],x[7];
int n,min;
long suma(int n)
{ int i;
long suma=0;
for (i=1;i<=n;i++)
suma+=x[i];
return suma;
}
int verif(int k)
{ if (suma(k)+min*(n-k)>s) return 0;
return 1;
}
void back(int k,int &sw)
{ if (k>6)
{ if (suma(k-1)==s) { sw=1;return;}
else return;
}
int i;
for (i=1;i<=n&&sw==0;i++)
{ x[k]=v[i];
if (verif(k)) back(k+1,sw);
}
}
int main()
{ int i,sw;
ifstream f("loto.in");
f>>n>>s;
f>>v[1];min=v[1];
for (i=2;i<=n;i++) { f>>v[i];
if (min>v[i]) min=v[i];
}
f.close();
sw=0;
back(1,sw);
ofstream g("loto.out");
if (sw==0) g<<-1;
else for (i=1;i<=6;i++) g<<x[i]<<' ';
return 0;
}