Pagini recente » Cod sursa (job #269723) | Cod sursa (job #3139837) | Cod sursa (job #588531) | Cod sursa (job #62657) | Cod sursa (job #1316205)
#include <iostream>
#include <unordered_set>
using namespace std;
const int NMax = 102;
int nr[NMax];
unordered_set<int> myhash;
int main()
{
int n,s,i,j,k;
int stemp=0;
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
scanf("%d %d",&n,&s);
for(i=1;i<=n;i++)
scanf("%d",&nr[i]);
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
for(k=1;k<=n;k++)
{
stemp = nr[i] + nr[j] + nr[k];
if(myhash.find(stemp) != myhash.end())
myhash.insert(stemp);
}
}
}
bool g = 0;
for(i=1;(i<=n) && !g; i++)
{
for(j=1;(j<=n) && !g;j++)
{
for(k=1;(k<=n) && !g;k++)
{
if(myhash.find(s-(nr[i]+nr[j]+nr[k])) != myhash.end() )
{
g = 1;
stemp =s - (nr[i] + nr[j] + nr[k]);
printf("%d %d %d ",nr[i],nr[j],nr[k]);
}
}
}
}
if(!g) printf("-1");
else
{
g=0;
for(i=1;(i<=n) && !g;i++)
{
for(j=1;(j<=n) && !g;j++)
{
for(k=1;(k<=n) && !g;k++)
{
if(nr[i]+nr[j]+nr[k] == stemp)
{
printf("%d %d %d",nr[i],nr[j],nr[k]);
g=1;
}
}
}
}
}
return 0;
}