Pagini recente » Cod sursa (job #2072199) | Cod sursa (job #2890142) | Cod sursa (job #2026587) | Istoria paginii runda/usu6/clasament | Cod sursa (job #2197655)
#include <cstdio>
#include <set>
using namespace std;
int a[105];
set<int>m;
void afis(int n, int s) {
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= n; ++j)
for (int k = 1; k <= n; ++k)
if (a[i] + a[j] + a[k] == s) {
printf("%d %d %d ", a[i], a[j], a[k]);
return ;
}
}
int main() {
freopen("loto.in", "r", stdin);
freopen("loto.out", "w", stdout);
int n, s;
scanf("%d%d", &n, &s);
for (int i = 1; i <= n; ++i)
scanf("%d", &a[i]);
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= n; ++j)
for (int k = 1; k <= n; ++k) {
int s1 = a[i] + a[j] + a[k];
m.insert(s1);
if (*(m.lower_bound(s - s1)) == s - s1) {
afis(n, s1);
afis(n, s - s1);
return 0;
}
}
printf("-1\n");
return 0;
}