Pagini recente » Cod sursa (job #578209) | Cod sursa (job #2715298) | Clasamentul arhivei de probleme | Cod sursa (job #1693901) | Cod sursa (job #578267)
Cod sursa(job #578267)
#include<iostream.h>
#include<fstream.h>
ifstream g("loto.in");
ofstream z("loto.out");
long int n,v[111],st[111],max=-5471,s,ok=1,s2=0;
void afisare()
{
int i;
for(i=1;i<=6;i++)
z<<st[i]<<" ";
ok=0;
}
void back(int niv)
{
int i;
if(ok==1)
for(i=1;i<=n;i++)
{
if(ok==1)
if(s2+v[i]<=s)
{
st[niv]=v[i];
s2+=v[i];
if(niv==6 && s2==s&&ok==1)
{ afisare();
z.close();
return ;
}
else{
back(niv+1);
s2=s2-v[i];
}
}
else
return ;
}
else return ;
}
int main ()
{
int i,l=1,aux,k=0;
g>>n>>s;
for(i=1;i<=n;i++)
{
g>>v[i];
if(max<v[i])
max=v[i];
}
g.close();
do
{
l=1;
for(i=1;i<n-k;i++)
if(v[i]>v[i+1])
{
aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
l=0;
}
k++;
}while(l==0);
back(1);
if(ok==1){
z<<"-1";
z.close();
}
return 0;
}