Pagini recente » Cod sursa (job #3147049) | Cod sursa (job #426806) | Cod sursa (job #1629732) | Cod sursa (job #2961878) | Cod sursa (job #1562181)
#include <bits/stdc++.h>
#include <unordered_map>
using namespace std;
FILE*f=fopen("loto.in","r"),*g=fopen("loto.out","w");
int n, s;
int N[1000009][4];
unordered_map <int, int> X;
void afisare(int x, unordered_map<int, int>::const_iterator y)
{
fprintf(g, "%d %d %d %d %d %d", N[x][1], N[x][2], N[x][3], N[y->second][1], N[y->second][2], N[y->second][3]);
}
int main()
{
int V[105];
fscanf(f, "%d %d", &n, &s);
for(int i = 1; i <= n; i++)
{
fscanf(f, "%d", &V[i]);
}
int nr = 0;
for(int i = 1; i <= n; i++)
for(int j = 1; j <= n; j++)
for(int k = 1; k <= n; k++)
{
nr++;
X[V[i]+V[j]+V[k]] = nr;
N[nr][1] = V[i];
N[nr][2] = V[j];
N[nr][3] = V[k];
}
unordered_map<int, int>::const_iterator it;
int h = 0;
for(int i = 1; i <= n ; i++)
for(int j = 1; j <= n; j++)
for(int k = 1; k <= n; k++)
{
h++;
int sum = s - V[i] - V[j] - V[k];
it = X.find(sum);
if(it != X.end())
{
afisare(h, it);
return 0;
}
}
fprintf(g,"-1");
return 0;
}