Решение задачи Наибольшее произведение с Mccme

Без пояснения   Просмотров: 530


Дано N целых чисел. Требуется выбрать из них три таких числа, произведение которых максимально.


Код

#include <bits/stdc++.h>
using namespace std;
int main()
{
    long long n, bb;
    cin >> n;
    vector<long long> a;
    for(int i = 0; i < n; ++i){
        cin >> bb;
        a.push_back(bb);
    }
    sort(a.begin(), a.begin() + a.size());
    long long o =  a[a.size() - 1] * a[a.size() - 2] * a[a.size() - 3];
    long long c = a[0] * a[1] * a[a.size() - 1];
    if(o > c)
        cout << a[a.size() - 1] << ' ' << a[a.size() - 2] << " " << a[a.size() - 3];
    else
        cout << a[0] << " " <<  a[1] << " " <<  a[a.size() - 1];
    return 0;
}

         

Администратор Photo Автор: Администратор




Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться