Pagini recente » Cod sursa (job #1815631) | Cod sursa (job #2432642) | Cod sursa (job #1867359) | Cod sursa (job #440095) | Cod sursa (job #2647647)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
const int NMAX=100;
struct suma
{
int a,b,c;
};
bool cmp(suma a,suma b)
{
return(a.a+a.b+a.c)<(b.a+b.b+b.c);
}
suma d[NMAX*NMAX*NMAX+5];
int v[NMAX+5];
int main()
{
int n,i,j,x,s,k;
fin>>n>>s;
for(i=1;i<=n;i++)
{
fin>>v[i];
}
k=1;
for(i=1;i<=n;i++)
{
for(j=i;j<=n;j++)
{
for(x=j;x<=n;x++)
{
d[k].a=v[i];
d[k].b=v[j];
d[k].c=v[x];
k++;
}
}
}
k--;
sort(d+1,d+k+1,cmp);
int st=1,dr=k,ok=0;
{
while(st<dr)
{
if(d[st].a+d[st].b+d[st].c+d[dr].a+d[dr].b+d[dr].c==s)
{
fout<<d[st].a<<' '<<d[st].b<<' '<<d[st].c<<' '<<d[dr].a<<' '<<d[dr].b<<' '<<d[dr].c;
ok=1;
break;
}
else if(d[st].a+d[st].b+d[st].c+d[dr].a+d[dr].b+d[dr].c<s)
st++;
else
dr--;
}
}
if(ok==0)
fout<<-1;
return 0;
}