Pagini recente » Cod sursa (job #1723199) | Cod sursa (job #1275720) | Cod sursa (job #2227712) | Cod sursa (job #1586685) | Cod sursa (job #3186992)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("loto.in");
ofstream cout("loto.out");
struct ceva {
int x, y, z;
int sum;
};
bool cmp (ceva n, ceva m) {
return n.sum < m.sum;
}
int n, s, a[102], lg;
ceva v[1000005];
int main()
{
cin >> n >> s;
for (int i = 1; i <= n; i++)
cin >> a[i];
for (int i = 1; i <= n; i++)
for (int j = i; j <= n; j++)
for (int k = j; k <= n; k++) {
v[++lg].sum = a[i] + a[j] + a[k];
v[lg].x = a[i];
v[lg].y = a[j];
v[lg].z = a[k];
}
sort(v+1, v+lg+1, cmp);
for (int i = 1; i <= lg; i++) {
int ss = s - v[i].sum; /// searched sum
int st = 1, dr = lg, poz = -1;
while (st <= dr) {
int mij = (st+dr)/2;
if (v[mij].sum == ss) {
cout << v[i].x << " " << v[i].y << " " << v[i].z << " " << v[mij].x << " " << v[mij].y << " " << v[mij].z;
return 0;
}
else if (v[mij].sum > ss)
dr = mij-1;
else
st = mij+1;
}
}
cout <<-1;
return 0;
}