Pagini recente » Cod sursa (job #1549755) | Cod sursa (job #2351949) | Cod sursa (job #1904033) | Cod sursa (job #419983) | Cod sursa (job #1778158)
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
int n, s, v[105], l[1000000], ul;
struct juma{
int j1, j2, j3;
} jj[1000000];
int main(){
ifstream in("loto.in");
ofstream out("loto.out");
int i, j, k, x, S, D, m;
in >> n >> s;
for (i = 1; i <= n; ++i) in >> v[i];
for (i = 1; i <= n; ++i)
for (j = i; j <= n; ++j)
for (k = j; k <= n; ++k) {++ul; l[ul] = v[i] + v[j] + v[k]; jj[ul].j1 = v[i]; jj[ul].j2 = v[j]; jj[ul].j3 = v[k];}
sort(l+1, l+ul+1);
for(i = 1; i <= ul && l[i] <= s; ++i){
x = s - l[i];
S = 1; D = ul;
while (S <= D){
m = S + (D - S)/2;
if (l[m] == x) {
cout << jj[i].j1 << ' ' << jj[i].j2 << ' ' << jj[i].j3 << ' ';
cout << jj[m].j1 << ' ' << jj[m].j2 << ' ' << jj[m].j3 << '\n';
return 0;
}
if (l[m] > x) D = m-1;
if (l[m] < x) S = m+1;
}
}
out << "-1\n";
}