Pagini recente » Cod sursa (job #1007060) | Cod sursa (job #1263146) | Cod sursa (job #799085) | Cod sursa (job #1074051) | Cod sursa (job #2894916)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
vector <int> v1;
struct numere
{
int a, b, c, suma;
};
numere v2[10000000];
bool comparare(numere y, numere z)
{
if(y.suma < z.suma)
return true;
return false;
}
int main()
{
int N, S, i, j, k, x = 1;
bool ok = false;
f >> N >> S;
for (i = 0; i < N; i++)
{
f >> x;
v1.push_back(x);
}
for(i=0; i<N; i++)
for(j=0; j<N; j++)
for(k=0; k<N; k++)
{
v2[x].a = v1[i];
v2[x].b = v1[j];
v2[x].c = v1[k];
v2[x].suma = v1[i] + v1[j] + v1[k];
x++;
}
sort(v2 + 1, v2 + x, comparare);
i = 1;
j = x-1;
while(i <= j)
{
if(v2[i].suma + v2[j].suma == S)
{
g << v2[i].a << ' ' << v2[i].b << ' ' << v2[i].c << ' '<< v2[j].a << ' ' << v2[j].b << ' ' << v2[j].c;
ok = true;
break;
}
else if(v2[i].suma + v2[j].suma < S)
i++;
else j--;
}
if(!ok)
g << -1;
}