Pagini recente » Cod sursa (job #2558779) | Cod sursa (job #2413100) | Cod sursa (job #1274164) | Cod sursa (job #1561582) | Cod sursa (job #1886241)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
long int b[7],n,k,a[101],maxi=0,poz,s=0;
void sortare()
{
int sw,aux;
do
{
sw=1;
for(int i=1;i<n;i++)
if(a[i]>a[i+1])
{
aux=a[i];
a[i]=a[i+1];
a[i+1]=aux;
sw=0;
}
}
while(sw==0);
}
int main()
{
fin>>n>>k;
for(int i=1;i<=n;i++)
{fin>>a[i];
if(6*a[i]>maxi)
{maxi=6*a[i];
poz=i;}}
if(maxi<k)
fout<<-1;
else if(maxi==k)
fout<<a[poz]<<" "<<a[poz]<<" "<<a[poz]<<" "<<a[poz]<<" "<<a[poz];
else
{
sortare();
for(int i=1;i<=6;i++)
b[i]=a[1];
int sw=1;
for(int i=n;i>=2&&sw;i--)
{
int y=7,s=0;
for(int j=1;j<=6;j++)
s=s+b[j];
while(s<k&&y!=1)
{
y--;
s=s-b[y]+a[i];
}
for(int j=6;j>=y;j--)
b[j]=a[i];
for(int j=1;j<=6;j++)
cout<<b[j]<<" ";
cout<<endl;
s=0;
for(int j=1;j<=6;j++)
s=s+b[j];
cout<<s<<endl;
if(s==k)
sw=0;
else
b[6]=0;
}
if(sw==1)
fout<<-1;
else
{
for(int i=1;i<=6;i++)
fout<<b[i]<<" ";
}
}
return 0;
}