Pagini recente » Cod sursa (job #145893) | Cod sursa (job #2857931) | Cod sursa (job #1113253) | Cod sursa (job #2335614) | Cod sursa (job #1303892)
#include <fstream>
using namespace std;
ifstream is("loto.in");
ofstream os("loto.out");
int n, st, dr, mij, nr;
struct jum{
long long s;
int a, b, c;
};
long long suma;
bool ok;
jum x[400000];
int v[102];
int main()
{
is >> n >> suma;
for ( int i = 1; i <= n; i++ )
is >> v[i];
for ( int i = 1; i <= n; i++ )
for ( int j = i; j <= n; j++ )
for ( int k = j; k <= n; k++ )
{
x[++nr].s = v[i] + v[j] + v[k];
x[nr].a = v[i];
x[nr].b = v[j];
x[nr].c = v[k];
}
st = 1;
dr = nr;
ok = false;
while ( st < dr && ok == false )
{
mij = st + ( dr - st ) / 2;
if ( x[st].s + x[dr].s > suma )
dr--;
if ( x[st].s + x[dr].s < suma )
st++;
if ( x[st].s + x[dr].s == suma )
ok = true;
}
if ( ok == true )
os << x[st].a << ' ' << x[st].b << ' ' << x[st].c << ' ' << x[dr].a << ' ' << x[dr].b << ' ' << x[dr].c;
else
os << -1;
is.close();
os.close();
return 0;
}