Pagini recente » Cod sursa (job #2769876) | Cod sursa (job #2904095) | Cod sursa (job #2904165) | Cod sursa (job #2904161) | Cod sursa (job #1711514)
#include <algorithm>
#include <fstream>
#include <iostream>
#define N 1030301
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int n1, n, s, a[101], v[N];
void show(int sum)
{
for(int i = 1; i <= n; ++i)
for(int j = i; j <= n; ++j)
for(int k = j; k <= n; ++k)
{
if(a[i] + a[j] + a[k] == sum)
g << a[i] << ' ' << a[j] << ' ' << a[k] << ' ';
}
}
int main()
{
f >> n >> s;
for(int i = 1; i <= n; ++i)
f >> a[ i ];
for(int i = 1; i <= n; ++i)
for(int j = i; j <= n; ++j)
for(int k = j; k <= n; ++k)
v[ ++n1 ] = a[ i ] + a [ j ] + a[ k ];
sort(v + 1, v + n1 + 1);
bool gasit = false;
int st = 1;
int dr = n1;
while(st <= dr)
{
if(v[st] == s - v[dr])
{
gasit = true;
show(v[st]);
show(v[dr]);
break;
}
else if(v[st] < s - v[dr])
st++;
else dr++;
}
if(!gasit)
g << "-1" << '\n';
}