написать программу на С++, желательно более простыми командами,заранее . На вход программе подаётся: в первой строке — число N (5 < N < 109
). В каждой
из последующих N строк — по одному элементу последовательности — натуральные числа, не превышающие 109
. Напишите эффективную, в том числе и по используемой памяти, программу, которая выводит на экран максимальную сумму
двух элементов этой последовательности, номера которых различаются не меньше
чем на 5.
Код программы;
#include <iostream>
#include <locale>
using namespace std;
int main(void) {
srand(time(NULL));
setlocale(LC_ALL, "Russian");
int *mas, N, max, i , j;
cout << "Введите N" << endl;
cin >> N;
if (N > 5 && N < 109) {
mas = new int[N];
cout << "Введите числа:" << endl;
for (i = 0; i < N; i++)
cin >> mas[i];
max = mas[0] + mas[5];
for (i = 0; i < N; i++) {
if (i + 5 >= N)
break;
for (j = i+5; j < N; j++) {
if (mas[i] + mas[j] > max)
max = mas[i] + mas[j];
}
}
cout << "\nМаксимальная сумма = "<< max << endl;
delete mas;
}
else
cout << "Ошибка. Заданное значение N не соответствует условию: 5 < N < 109" << endl;
return 0;
}