Pagini recente » Cod sursa (job #2533060) | Cod sursa (job #3202801) | Cod sursa (job #1335301) | Cod sursa (job #2877704) | Cod sursa (job #172102)
Cod sursa(job #172102)
#include<fstream.h>
int poz (long v[101],int a, int b)
{
long aux,piv=v[a];
while (a<b)
{
if (v[a]>v[b]) {
aux=v[a];
v[a]=v[b];
v[b]=aux;
}
if (piv==v[a]) b--;
else a++;
}
return a;
}
void quick (long v[101],int a,int b)
{
int k;
if (a<b) {
k=poz(v,a,b);
quick (v,a,k);
quick (v,k+1,b);
}
}
int main()
{
int n,i,i1,i2,i3,i4,i5,i6;
long s,v[101];
ifstream f("loto.in");
ofstream g("loto.out");
f>>n>>s;
for (i=1;i<=n;i++) f>>v[i];
quick(v,1,n);
long s1=0; int sw1=0;
int sw=1;
if (6*v[n]<s || 6*v[1]>s) sw=0;
else if (6*v[n]==s) {
sw1=1;sw=0;
g<<v[n]<<' '<<v[n]<<' '<<v[n]<<' '<<v[n]<<' '<<v[n]<<' '<<v[n];
}
for (i1=1;i1<=n && sw;i1++)
for (i2=i1;i2<=n && sw;i2++)
for (i3=i2;i3<=n && sw;i3++)
for (i4=i3;i4<=n && sw; i4++)
for (i5=i4;i5<=n && sw; i5++)
for (i6=i5;i6<=n && sw;i6++)
if ((s1=v[i1]+v[i2]+v[i3]+v[i4]+v[i5]+v[i6])==s) {g<<v[i1]<<' '<<v[i2]<<' '<<v[i3]<<' '<<v[i4]<<' '<<v[i5]<<' '<<v[i6];sw=0;sw1=1;}
else if (s1>s) sw=0;
if (sw1==0) g<<-1;
g.close();
f.close();
return 0;
}