Pagini recente » Cod sursa (job #2550483) | Cod sursa (job #3032883) | Cod sursa (job #2591152) | Cod sursa (job #2915853) | Cod sursa (job #1474401)
#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;
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], i, j, 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;
}