Pagini recente » Cod sursa (job #2051620) | Cod sursa (job #2526069) | Cod sursa (job #2681790) | Cod sursa (job #245538) | Cod sursa (job #1764963)
#include <cstdio>
#include<algorithm>
#define MAX 100
using namespace std;
int sume[MAX*MAX*MAX+1];
int v[MAX+1];
int main()
{
freopen("loto.in", "r", stdin);
freopen("loto.out", "w", stdout);
int i, j, k, sum, m=0, n, s1 ,s2, f=0;
scanf("%d%d", &n, &sum);
for(i=1;i<=n;i++)
scanf("%d", &v[i]);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(k=1;k<=n;k++)
if(v[i]+v[j]+v[k]<sum)
sume[++m]=v[i]+v[j]+v[k];
sort(sume+1, sume+m+1);
i=1;
j=m;
s1=s2=-1;
while(i<=j)
{
while(sum-sume[j]<sume[i]&&j>0)
j--;
if(sum==sume[j]+sume[i])
{
s1=sume[j];
s2=sume[i];
i=m;j=1;
}
i++;
}
if(s1==s2&&s2==-1)
printf("-1");
else
{
for(i=1;i<=n && f==0;i++)
for(j=1;j<=n && f==0;j++)
for(k=1;k<=n && f==0;k++)
if(v[i]+v[j]+v[k]==s1)
{
printf("%d %d %d ", v[i], v[j], v[k]);
f=1;
}
f=0;
for(i=1;i<=n && f==0;i++)
for(j=1;j<=n && f==0;j++)
for(k=1;k<=n && f==0;k++)
if(v[i]+v[j]+v[k]==s2)
{
printf("%d %d %d ", v[i], v[j], v[k]);
f=1;
}
}
return 0;
}