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