#include
#include
#include
#include
using namespace std;
int main() {
int k;
// Ввод количества элементов списка
cin >> k;
if (k < 3) {
// Если элементов меньше трех, не может быть локальных максимумов
cout << "Расстояние не установлено" << endl;
return 0;
}
list numbers;
vector localMaxIndices;
// Ввод элементов списка
for (int i = 0; i < k; ++i) {
int num;
cin >> num;
numbers.push_back(num);
}
// Преобразование списка в вектор для удобства индексации
vector nums(numbers.begin(), numbers.end());
// Поиск индексов локальных максимумов
for (int i = 1; i < k - 1; ++i) {
if (nums[i] > nums[i - 1] && nums[i] > nums[i + 1]) {
localMaxIndices.push_back(i);
}
}
if (localMaxIndices.size() < 2) {
// Если локальных максимумов меньше двух, вывести сообщение
cout << "Расстояние не установлено" << endl;
} else {
// Вычисление минимального расстояния между локальными максимумами
int minDistance = numeric_limits::max();
for (size_t i = 1; i < localMaxIndices.size(); ++i) {
int distance = localMaxIndices[i] - localMaxIndices[i - 1];
if (distance < minDistance) {
minDistance = distance;
}
}
cout << minDistance - 1 << endl; // вычитаем 1, так как индексация начинается с нуля
}
return 0;
}
Результат
Если вычислить расстояние невозможно, то выводит "Расстояние неустановленно"
Пример ввода программы: 5 7 9 5 8 6 Вывода: 1.
Если вычислить расстояние невозможно, то надо вывести "Расстояние неустановленно"