Pagini recente » Cod sursa (job #1967434) | Cod sursa (job #909626) | Borderou de evaluare (job #2021054) | Cod sursa (job #2650578) | Cod sursa (job #2784478)
#include <iostream>
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream fin ("loto.in");
ofstream fout ("loto.out");
const int nmax=101;
int n,a[nmax],s,i,j,k,c;
struct triplet
{
int x,y,z;
};
unordered_map<int, triplet> sume;
int main()
{
fin >>n>>s;
for (int i=1; i<=n; i++)
{
fin >>a[i];
}
for (i=1; i<=n; i++)
{
for (j=i; j<=n; j++)
{
for (k=j; k<=n; k++)
{
sume[a[i]+a[j]+a[k]]={a[i],a[j],a[k]};
}
}
}
for(i=1; i<=n; i++)
{
for(j=i; j<=n; j++)
{
for(k=j; k<=n; k++)
{
c=s-a[i]-a[j]-a[k];
if(sume.count(c)>0)
{
triplet t=sume[c];
fout <<a[i]<<" "<<a[j]<<" "<<a[k]<<" "<<t.x<<" "<<t.y<<" "<<t.z<<"\n";
return 0;
}
}
}
}
fout <<"-1\n";
return 0;
}