Pagini recente » Cod sursa (job #2287227) | Cod sursa (job #2907734) | Cod sursa (job #956450) | Cod sursa (job #1883702) | Cod sursa (job #711743)
Cod sursa(job #711743)
#include <iostream>
#include <fstream>
using namespace std;
int v[101], sol[7], n, cont=0, a[7], suma;
/*
int solve(int k, int x, int s)
{
int i;
a[k]=x;
for(i=1;i<=k;i++)
cout<<a[i]<<' ';
cout<<" --> "<<suma-s+a[k]<<endl;
//if(k==1&&cont==1) return 1;
if(k==6)
{
if(s==x)
{
sol[k]=x;
cont=1;
return 1;
}
else return 0;
}
else
{
for(i=1;i<=n;i++)
{
if(solve(k+1, v[i], s-x))
{
sol[k]=x;
return 1;
}
else
if(v[i]*(6-k)>s)
return 0;
}
return 0;
}
}
*/
int main()
{
ifstream f("loto.in");
ofstream g("loto.out");
int i, j, sum;
f>>n>>sum;
suma=sum;
v[0]=0;
for(i=1;i<=n;i++)
f>>v[i];
/*for(i=1;i<=n;i++)
if(6*v[i]>sum) break;
if(solve(1, v[i-1], sum))
for(i=1;i<=6;i++)
g<<sol[i]<<" ";
else g<<-1<<" ";*/
j=0;
a[6]=0;
while(j<=5)
{
for(i=1;i<=n;i++)
if((6-j)*v[i]>suma)
{
j++;
a[j]=v[i-1];
suma-=v[i-1];
break;
}
else if((6-j)*v[i]==suma)
{
j++;
a[j]=v[i];
suma-=v[i];
break;
}
if(i>n) break;
}
if(a[6]==0||a[1]==0)
g<<-1;
else for(i=1;i<=6;i++)
g<<a[i]<<' ';
return 0;
}