Pagini recente » Cod sursa (job #779870) | Cod sursa (job #1855876) | Cod sursa (job #2106520) | Cod sursa (job #2056129) | Cod sursa (job #1667054)
#include <fstream>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int v[102],s[600001],n,ss,afisat;
void afis(int k)
{
int i;
for(i=1;i<=k;i++) g<<s[i]<<' ';
g<<'\n'; afisat=1;
}
int valid(int x, int k)
{
int i;
int suma=0;
for(i=1;i<=k;i++) suma+=s[i];
if(suma<=ss) return 1;
return 0;
}
void backtr(int k)
{
int i,j,suma;
for(i=1;i<=n;i++)
{
if(afisat) return;
s[k]=v[i];
if(valid(s[k], k))
{
suma=0;
for(j=1;j<=k;j++) suma+=s[j];
if(k==6 && suma==ss) afis(k);
else backtr(k+1);
}
}
}
int main()
{
int i;
f>>n>>ss;
for(i=1;i<=n;i++) f>>v[i];
backtr(1);
if(afisat==0) g<<-1<<'\n';
f.close();
g.close();
return 0;
}