Pagini recente » Cod sursa (job #111400) | Cod sursa (job #2713937) | Cod sursa (job #546175) | Cod sursa (job #1902983) | Cod sursa (job #3196648)
#include <iostream>
#include <map>
#include <algorithm>
using namespace std;
const int MAX = 100;
int v[MAX + 3];
struct trei{
int x, y, z;
};
map<int, trei>m1;
int N, S;
int main() {
freopen("loto.in", "r", stdin);
freopen("loto.out", "w", stdout);
cin.tie(0);
ios_base::sync_with_stdio(false);
cout.tie(0);
cin >> N >> S;
for(int i = 1; i <= N; i++) {
cin >> v[i];
}
for(int i = 1; i <= N; i++) {
for(int j = 1; j <= N; j++) {
for(int l = 1; l <= N; l++) {
if(v[i] + v[j] + v[l] <= S)
m1[v[i] + v[j] + v[l]] = {v[i], v[j], v[l]};
}
}
}
sort(v + 1, v + N + 1);
for(int i = 1; i <= N; i++) {
bool da1 = 1;
for(int j = 1; j <= N && da1; j++) {
if(v[i] + v[j] > S) da1 = 0;
bool da = 1;
for(int l = 1; l <= N && da && da1; l++) {
int sum = S - (v[i] + v[j] + v[l]);
if(sum < 0) da = 0;
trei aux = m1[sum];
if(aux.x + aux.y + aux.z == sum) {
cout << v[i] << ' ' << v[j] << ' ' << v[l] << ' ' <<
aux.x << ' ' << aux.y << ' ' << aux.z;
return 0;
}
}
}
}
cout << -1;
}