Pagini recente » Cod sursa (job #590927) | Cod sursa (job #846868) | Cod sursa (job #1358538) | Cod sursa (job #1867159) | Cod sursa (job #291726)
Cod sursa(job #291726)
#include<iostream.h>
#include<stdio.h>
long long n,s,sum,i,j,nr[110],st[10],k,aux,ord,ok=1;
void init()
{
st[k]=nr[1];
}
int succesor()
{
if(st[k]<nr[n])
for(i=1;i<=n;i++)
if((nr[i]<=st[k])&&(st[k]<nr[i+1]))
{
st[k]=nr[i+1];
return 1;
}
return 0;
}
int solutie()
{
sum=0;
for(j=1;j<=6;j++)
sum=sum+st[j];
if(sum==s) return 1;
return 0;
}
void tiparire()
{
do
{
ord=1;
for(i=1;i<6;i++)
if(st[i]>st[i+1])
{
aux=st[i+1];
st[i+1]=st[i];
st[i]=aux;
ord=0;
}
}while(ord==0);
for(i=1;i<=6;i++)
cout<<st[i]<<" ";
}
void loto()
{
int as;
for(k=1;k<=6;k++)
init();
if(solutie()) {tiparire(); ok=0; }
k=1;
as=succesor();
while(as&&k<=6)
{
if(solutie()&&ok) {tiparire(); ok=0;}
as=succesor();
if(as==0)
{
k++;
as=succesor();
}
}
if(ok==1) cout<<"-1";
}
int main()
{
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
cin>>n>>s;
for(i=1;i<=n;i++)
cin>>nr[i];
do
{
ord=1;
for(i=1;i<n;i++)
if(nr[i]>nr[i+1])
{
aux=nr[i+1];
nr[i+1]=nr[i];
nr[i]=aux;
ord=0;
}
}while(ord==0);
loto();
return 0;
}