#include <iostream>
#include <iterator>
#include <algorithm>
using namespace std;
int main() {
int fb[] = {3, 5, -9, 7, 8, 0, 1, -3, -10}; //Массив
int *fe = fb + sizeof(fb)/sizeof(int); //Конец массива
reverse_iterator<int *> rb(fe), re(fb); //«Перевёрнутый» массив
//В конеце помещаем три максимальных элемента в возрастающем порядке:
partial_sort(rb, rb+3, re, greater<int>());
//В начало помещаем два минимальных элемента:
if (fe-fb > 4) partial_sort(fb, fb+2, fe-3);
//Хвост массива исключён из обработки (fe-3), так как частичная сортировка
//не обязана сохранять порядок элементов, идущих после сортированных. Усло-
//вие нужно для того, чтобы функция не упала, когда fb+2 > fe-3 для массива
//из трёх и четырёх элементов.
int a(fb[0]), b(fb[1]), c(rb[2]), d(rb[1]), e(rb[0]);
cout << "Result: "; //Результирующие числа вотсортированы по возрастанию:
if (a * b * e > c * d * e) cout << a << " " << b << " " << e << endl;
else cout << c << " " << d << " " << e << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aXRlcmF0b3I+CiNpbmNsdWRlIDxhbGdvcml0aG0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKaW50IG1haW4oKSB7CiAgICBpbnQgZmJbXSA9IHszLCA1LCAtOSwgNywgOCwgMCwgMSwgLTMsIC0xMH07IC8v0JzQsNGB0YHQuNCyCiAgICBpbnQgKmZlID0gZmIgKyBzaXplb2YoZmIpL3NpemVvZihpbnQpOyAgICAgIC8v0JrQvtC90LXRhiDQvNCw0YHRgdC40LLQsAogICAgcmV2ZXJzZV9pdGVyYXRvcjxpbnQgKj4gcmIoZmUpLCByZShmYik7ICAgICAvL8Kr0J/QtdGA0LXQstGR0YDQvdGD0YLRi9C5wrsg0LzQsNGB0YHQuNCyCiAgICAKICAgIC8v0JIg0LrQvtC90LXRhtC1INC/0L7QvNC10YnQsNC10Lwg0YLRgNC4INC80LDQutGB0LjQvNCw0LvRjNC90YvRhSDRjdC70LXQvNC10L3RgtCwINCyINCy0L7Qt9GA0LDRgdGC0LDRjtGJ0LXQvCDQv9C+0YDRj9C00LrQtToKICAgIHBhcnRpYWxfc29ydChyYiwgcmIrMywgcmUsIGdyZWF0ZXI8aW50PigpKTsKICAgIC8v0JIg0L3QsNGH0LDQu9C+INC/0L7QvNC10YnQsNC10Lwg0LTQstCwINC80LjQvdC40LzQsNC70YzQvdGL0YUg0Y3Qu9C10LzQtdC90YLQsDoKICAgIGlmIChmZS1mYiA+IDQpIHBhcnRpYWxfc29ydChmYiwgZmIrMiwgZmUtMyk7CiAgICAvL9Cl0LLQvtGB0YIg0LzQsNGB0YHQuNCy0LAg0LjRgdC60LvRjtGH0ZHQvSDQuNC3INC+0LHRgNCw0LHQvtGC0LrQuCAoZmUtMyksICDRgtCw0Log0LrQsNC6INGH0LDRgdGC0LjRh9C90LDRjyDRgdC+0YDRgtC40YDQvtCy0LrQsAogICAgLy/QvdC1INC+0LHRj9C30LDQvdCwINGB0L7RhdGA0LDQvdGP0YLRjCDQv9C+0YDRj9C00L7QuiDRjdC70LXQvNC10L3RgtC+0LIsINC40LTRg9GJ0LjRhSDQv9C+0YHQu9C1INGB0L7RgNGC0LjRgNC+0LLQsNC90L3Ri9GFLiDQo9GB0LvQvi0KICAgIC8v0LLQuNC1INC90YPQttC90L4g0LTQu9GPINGC0L7Qs9C+LCDRh9GC0L7QsdGLINGE0YPQvdC60YbQuNGPINC90LUg0YPQv9Cw0LvQsCwg0LrQvtCz0LTQsCBmYisyID4gZmUtMyDQtNC70Y8g0LzQsNGB0YHQuNCy0LAKICAgIC8v0LjQtyDRgtGA0ZHRhSDQuCDRh9C10YLRi9GA0ZHRhSDRjdC70LXQvNC10L3RgtC+0LIuCiAgICAKICAgIGludCBhKGZiWzBdKSwgYihmYlsxXSksIGMocmJbMl0pLCBkKHJiWzFdKSwgZShyYlswXSk7CiAgICAKICAgIGNvdXQgPDwgIlJlc3VsdDogIjsgLy/QoNC10LfRg9C70YzRgtC40YDRg9GO0YnQuNC1INGH0LjRgdC70LAg0LLQvtGC0YHQvtGA0YLQuNGA0L7QstCw0L3RiyDQv9C+INCy0L7Qt9GA0LDRgdGC0LDQvdC40Y46CiAgICBpZiAoYSAqIGIgKiBlID4gYyAqIGQgKiBlKSBjb3V0IDw8IGEgPDwgIiAiIDw8IGIgPDwgIiAiIDw8IGUgPDwgZW5kbDsKICAgIGVsc2UgICAgICAgICAgICAgICAgICAgICAgIGNvdXQgPDwgYyA8PCAiICIgPDwgZCA8PCAiICIgPDwgZSA8PCBlbmRsOwogCiAgICByZXR1cm4gMDsKfQo=