Pagini recente » Cod sursa (job #1597225) | Cod sursa (job #966814) | Cod sursa (job #1080854) | Cod sursa (job #2362471) | Cod sursa (job #2894941)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
struct numere
{
int a, b, c, suma;
};
numere v2[500000];
int v1[200];
bool comparare(numere y, numere z)
{
if(y.suma < z.suma)
return true;
return false;
}
int main()
{
int N, S, i, j, k, x = 0;
bool ok = false;
f >> N >> S;
for (i = 0; i < N; i++)
f >> v1[i];
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 , v2 + x, comparare);
i = 0;
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;
}