Pagini recente » Cod sursa (job #1074154) | Cod sursa (job #128454) | Cod sursa (job #1604166) | Cod sursa (job #1820235) | Cod sursa (job #1966511)
#include <fstream>
#include <string.h>
#include <vector>
#include <algorithm>
#include <unordered_map>
#define nMax 101
#define mkp make_pair
#define bit(i) i&(-i)
#define x first
#define y second
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int n, S;
int v[nMax];
unordered_map<int, pair<pair<int, int>, int> > myHash;
int main()
{
fin>>n>>S;
for(int i=1; i<=n; i++)
fin>>v[i];
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
for(int k=1; k<=n; k++)
{
int Sum=v[i]+v[j]+v[k];
if(myHash.find(Sum)==myHash.end())
myHash[Sum]=mkp(mkp(i, j), k);
}
}
}
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
for(int k=1; k<=n; k++)
{
int Sum=S-v[i]-v[j]-v[k];
if(myHash.find(Sum)!=myHash.end())
{
int a=myHash[Sum].x.x, b=myHash[Sum].x.y, c=myHash[Sum].y;
fout<<v[i]<<" "<<v[j]<<" "<<v[k]<<" "<<v[a]<<" "<<v[b]<<" "<<v[c];
return 0;
}
}
}
}
fout<<-1;
}