Pagini recente » Cod sursa (job #1447887) | Cod sursa (job #259653) | Cod sursa (job #2657416) | Cod sursa (job #563012) | Cod sursa (job #1474403)
#include <fstream>
#include <algorithm>
#include <tuple>
using namespace std;
ifstream in("loto.in");
ofstream out("loto.out");
const int MAX_N_POW3 = 1000000;
const int MAX_N = 100;
int V[MAX_N + 5];
tuple < int, int, int, int > C[MAX_N_POW3 + 1];
int main() {
int n, i, j, k, s, nC = 0, left, right, mid;
in >> n >> s;
for(i = 1; i <= n; i++) in >> V[i];
sort(V+1, V+n+1);
for(i = 1; i <= n; i++) {
for(j = 1; j <= n; j++) {
for(k = 1; k <= n; k++) {
C[++nC] = make_tuple(V[i] + V[j] + V[k], V[i], V[j], V[k]);
}
}
}
for(i = 1, j = nC; i <= j; ) {
if(get<0>(C[i]) + get<0>(C[j]) == s) {
out << get<1>(C[i]) << " " << get<2>(C[i]) << " " << get<3>(C[i]) << " ";
out << get<1>(C[j]) << " " << get<2>(C[j]) << " " << get<3>(C[j]) << "\n";
return 0;
}
else if(get<0>(C[i]) + get<0>(C[j]) < s) i++;
else j--;
}
out << "-1\n";
return 0;
}