Pagini recente » Cod sursa (job #1296437) | Cod sursa (job #488959) | Cod sursa (job #615053) | Borderou de evaluare (job #103693) | Cod sursa (job #200842)
Cod sursa(job #200842)
/*loto*/
#include<fstream.h>
unsigned long v[101],a[101],S;
int n,ok;
ifstream fin("loto.in");
ofstream fout("loto.out");
void citire()
{
int i;
fin>>n>>S;
for(i=0;i<n;i++)
fin>>a[i];
}
void prelucrare()
{
unsigned long s=0;
int i;
for(i=0;i<6;i++)
s+=v[i];
if(S==s)
{
for(i=0;i<6;i++)
fout<<v[i]<<" ";
fout<<'\n';
ok=1;
}
}
int valid(int k)
{
unsigned long s=0;
int i;
for(i=0;i<k;i++)
s+=v[i];
if(s+v[k]>S) return 0;
return 1;
}
void back(int k)
{
int i;
for(i=0;i<n&&ok==0;i++)
{
v[k]=a[i];
if(valid(k)==1)
if(k==5 && ok==0)
prelucrare();
else
back(k+1);
}
}
int main()
{
citire();
back(0);
if(ok==0)
fout<<"-1\n";
fout.close();
return 0;
}