435
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