Pagini recente » Cod sursa (job #3256967) | Cod sursa (job #2154399) | Cod sursa (job #1843675) | Cod sursa (job #2266166) | Cod sursa (job #381827)
Cod sursa(job #381827)
#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::in);
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];
g << endl;
sol++;
}
void back(int k)
{
for(int i=1; i <= n && 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;
}