Pagini recente » Cod sursa (job #129687) | Cod sursa (job #2936430) | Cod sursa (job #917411) | Cod sursa (job #2713949) | Cod sursa (job #135000)
Cod sursa(job #135000)
#include <stdio.h>
#include <algorithm>
#include <set>
using namespace std;
int a[100],n,s,e,r,ok;
set <int> w;
void citire()
{
freopen("loto.in","r",stdin);
scanf("%d%d", &n, &s);
for (int i=0; i<n; i++)
scanf("%d", &a[i]);
fclose(stdin);
}
void loto()
{
for (int i=0; i<n; i++)
for (int j=i; j<n; j++)
for (int k=j; k<n; k++)
w.insert(a[i]+a[j]+a[k]);
for (int i=0; i<n; i++)
for (int j=i; j<n; j++)
for (int k=j; k<n; k++)
{
e=a[i]+a[j]+a[k];
r=s-e;
if (w.find(r)!=w.end())
{
ok=1;
return;
}
}
}
int SOL[20];
void solutie(int q)
{
for(int i=0; i<n; i++)
for(int j=i; j<n; j++)
for(int k=j; k<n; k++)
if(a[i]+a[j]+a[k]==q)
{
SOL[++SOL[0]]=a[i], SOL[++SOL[0]]=a[j];
SOL[++SOL[0]]=a[k];
return ;
}
}
void afisare()
{
freopen("loto.out","w",stdout);
if (!ok)
printf("-1");
else
{
solutie(e);
solutie(r);
for (int i=1; i<=6; i++)
printf("%d ",SOL[i]);
}
fclose(stdout);
}
int main()
{
citire();
loto();
afisare();
return 0;
}