Pagini recente » Cod sursa (job #196063) | Cod sursa (job #693907) | Cod sursa (job #1327576) | Cod sursa (job #2827782) | Cod sursa (job #869287)
Cod sursa(job #869287)
#include<fstream>
using namespace std;
fstream fin("loto.in",ios::in),fout("loto.out",ios::out);
int n;
long long s,x[7],v[101],sol;
int valid(int suma,int k)
{
return (x[k]!=0 && suma<=s && k<=6);
}
int solutie(int suma,int k)
{
if (k==6 && suma==s)
return 1;
else
return 0;
}
void prelucreaza()
{
for(int i=1;i<=6;i++)
{
fout<<v[x[i]]<<" ";
}
}
void back(int k,long long suma)
{
if(sol==1)
return ;
for(int i=x[k-1];i<=n;i++)
{
x[k]=i;
if(valid(suma+v[x[k]],k))
{
if(solutie(suma+v[x[k]],k))
{
//fout<<k<<" "<<x[k]<<endl;
prelucreaza();
sol=1;
return ;
}
else
back(k+1,suma+v[x[k]]);
}
}
}
int main()
{
int i;
fin>>n>>s;
for(i=1;i<=n;i++)
{
fin>>v[i];
}
back(1,0);
if(sol==0)
fout<<-1;
fin.close();
fout.close();
return 0;
}