Pagini recente » Cod sursa (job #746940) | Cod sursa (job #1631570) | Cod sursa (job #2800444) | Cod sursa (job #175775) | Cod sursa (job #712285)
Cod sursa(job #712285)
#include<fstream>
using namespace std;
ofstream fcout("loto.out");
int w[7],v[101];
int rez(int k,int s3,int j,int p8)
{
int s,p,i;
s=s3/k;
if(s>6)return 0;
p=s3-s*k;
for(i=p8;i>p8-s;i--)
w[i]=k+v[1];
if(p8-s==0&&p!=0)return 0;
if(p==0){for(i=1;i<6;i++)
fcout<<w[i]<<' ';
fcout<<w[6]<<'\n';
return 1;}
else for(i=j;i>=2;i--)
if(v[i]-v[1]<=p)if(rez(v[i]-v[1],p,i,p8-s))return 1;
return 0;
}
int main()
{
ifstream fcin("loto.in");
int n,s,s2,s3,aux,mx=0,i;
fcin>>n>>s;
for(i=1;i<=n;i++)
fcin>>v[i];
for(i=2;i<=n;i++)
{if(i>mx)mx=i;
if(v[i]<v[i-1]){aux=v[i];v[i]=v[i-1];v[i-1]=aux;if(i>2)i=i-2;}
else i=mx;}
s2=6*v[1];w[1]=w[2]=w[3]=w[4]=w[5]=w[6]=v[1];
s3=s-s2;
while(v[n]-v[1]>s3){n--;if(n==0){fcout<<-1<<'\n';return 0;}}
for(i=n;i>=2;i--)
if(rez(v[i]-v[1],s3,i,6))return 0;
if(n==1&&s3==0)fcout<<v[1]<<' '<<v[1]<<' '<<v[1]<<' '<<v[1]<<' '<<v[1]<<' '<<v[1]<<'\n';
else fcout<<-1<<'\n';
return 0;
}