Pagini recente » Cod sursa (job #332645) | Cod sursa (job #942980) | Cod sursa (job #102999) | Cod sursa (job #680730) | Cod sursa (job #518801)
Cod sursa(job #518801)
#include <fstream>
#include <vector>
#include <algorithm>
#define INF 102
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct S {
long long nr1, nr2, nr3, sum;
}a[INF*INF*INF];
long long s, n, su, b[INF], k1, k2;
bool ok;
bool Calc(S a, S b);
int main()
{
fin >> n >> s;
for (int i = 1; i <= n; ++i)
fin >> b[i];
fin.close();
long long c = 1;
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= n; ++j)
for (int k = 1; k <= n; ++k)
{
a[c].nr1 = b[i];
a[c].nr2 = b[j];
a[c].nr3 = b[k];
a[c].sum = b[i] + b[j] + b[k];
c++;
}
sort(a, a + c, Calc);
long long st = 1, dr = c - 1, mij;
while (st <= dr)
{
if (a[st].sum + a[dr].sum == s)
{
fout << a[st].nr1 << ' ' << a[st].nr2 << ' ' << a[st].nr3 << ' ' << a[dr].nr1 << ' ' << a[dr].nr2 << ' ' << a[dr].nr3;
fout.close();
return 0;
}
while (a[st].sum + a[dr].sum > s)
--dr;
if (a[st].sum + a[dr].sum == s)
{
fout << a[st].nr1 << ' ' << a[st].nr2 << ' ' << a[st].nr3 << ' ' << a[dr].nr1 << ' ' << a[dr].nr2 << ' ' << a[dr].nr3;
fout.close();
return 0;
}
++st;
}
fout << "-1" << '\n';
fout.close();
return 0;
}
bool Calc (S a, S b)
{
return a.sum < b.sum;
}