Pagini recente » Cod sursa (job #760621) | Cod sursa (job #766454) | Cod sursa (job #2139958) | Cod sursa (job #1523335) | Cod sursa (job #381836)
Cod sursa(job #381836)
#include<fstream>
using namespace std;
#define inFile "loto.in"
#define outFile "loto.out"
long int st[100], n, a[100], sol;
long long int s;
fstream f(inFile, ios::in), g(outFile, ios::out);
int valid(int k)
{
if(k > 6)
return 0;
long long int suma = 0;
for(int i=1; i <= k; i++)
{
suma = suma + st[i];
if(suma > s)
return 0;
}
return 1;
}
int solutie(int k)
{
if(k != 6)
return 0;
long long int suma = 0;
for(int i=1; i <= k; i++)
suma = suma + st[i];
return (suma == s);
}
void tiparire(int k)
{
for(int i=1; i <= k; i++)
g << st[i] << " ";
sol++;
}
void back(int k)
{
for(int i=n; i >= 1 && sol != 1; i--)
{
st[k] = a[i];
if(valid(k))
if(solutie(k))
tiparire(k);
else
back(k + 1);
}
}
int main()
{
f >> n >> s;
for(int i=1; i <= n; i++)
f >> a[i];
back(1);
if(sol == 0)
g << -1;
f.close();
g.close();
return 0;
}