2-AMALIY ISHI
Mavzu: Massiv elementlarini tartiblashtirish.Oddiy saralaw algoritmlari.
10-topshiriq
N ta son berilgan. Ulardan shunday uchtasini tanlash kerakki, ularning ko’paytmasi maksimal bo’lsin.
Kiruvchi ma’lumotlar
Birinchi qatorda N butun soni beriladi(3 ≤ n ≤ 1000). Ikkinchi qatorda N ta son bitta probel bilan ajratilgan holda beriladi. Ularning qiymatlari butun va modul jihatidan 106 dan oshmaydi.
Chiquvchi ma’lumotlar
Bitta butun sonni – maksimal ko’paytmaning qiymatini chiqaring.
Misollar
№
|
Kiruvchi ma’lumotlar
|
Chiquvchi ma’lumotlar
|
1
|
5
5 6 -9 4 3
|
120
|
#include
#include
#include
using namespace std;
int main() {
int n;
cin >> n;
int a[n];
for (int i = 0; i < n; i++) {
cin >> a[i];
}
int max1, max2 , max3 ;
int min1, min2 ;
for (int i = 0; i < n; i++) {
if (a[i] > max1) {
max3 = max2;
max2 = max1;
max1 = a[i];
} else if (a[i] > max2) {
max3 = max2;
max2 = a[i];
} else if (a[i] > max3) {
max3 = a[i];
}
if (a[i] < min1) {
min2 = min1;
min1 = a[i];
} else if (a[i] < min2) {
min2 = a[i];
}
}
int ans1 = max1 * max2 * max3;
int ans2 = max1 * min1 * min2;
cout << max(ans1, ans2) << endl;
return 0;
}
Do'stlaringiz bilan baham: |