fbpx

Problema #2271 – ProdMax1 – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se dă un șir cu n numere întregi. Determinați cel mai mare număr care poate fi scris ca produs de două elemente ale șirului.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi cele n elemente ale șirului.

Date de ieșire

Programul va afișa pe ecran numărul determinat P.

Restricții și precizări

  • 1 ≤ n ≤ 100000
  • elementele șirului vor fi cuprinse în intervalul (-1000000, 1000000)

Exemplu

Intrare

7
-8 3 9 -1 -2 7 -10 

Ieșire

80
#include <bits/stdc++.h>
using namespace std;
int main()
{
    long long n , x , min1 = 1000001 , min2 = 1000001 , max1 = -1000001 , max2 = -1000001;
    cin >> n;
    for(int i = 1 ; i <= n ; ++i)
    {
        cin >> x;
        if(x > max1)
        {
            max2 = max1;
            max1 = x;
        }
        else if(x > max2) max2 = x;
        if(x < min1)
        {
            min2 = min1;
            min1 = x;
        }
        else if(x < min2) min2 = x;
    }
    if(max2 * max1 > min1 * min2) cout << max1 * max2;
    else cout << min1 * min2;
    return 0;
}
Comentarii

S-ar putea sa iti placa