Больше своих соседей

Дан массив из n целых чисел. Определите, сколько в нем элементов, больших двух своих соседей, и выведите количество таких элементов. Крайние элементы списка не учитывать, поскольку у них мало соседей.

Входные данные

Дан массив из n целых чисел. Определите, сколько в нем элементов, больших двух своих соседей, и выведите количество таких элементов. Крайние элементы списка не учитывать, поскольку у них мало соседей.

Выходные данные

Вывести количество элементов, которые больше своих двух соседей.

Алгоритм решения задачи

  • Для элементов начиная со второго до предпоследнего производим сравнение с соседями;
  • Если значение удовлетворяет условие прибавляем к результату 1, если нет – 0.

Решение

using System;

class Program
{
    static void Main(string[] args)
    {
        var n = Convert.ToInt32(Console.ReadLine());
        var p = Array.ConvertAll(Console.ReadLine().Split(' '), s => int.Parse(s));

        var res = 0;

        for (int i = 1; i < n - 1; i++)
        {
            res += p[i - 1] < p[i] && p[i + 1] < p[i] ? 1 : 0;
        }

        Console.WriteLine(res);
    }
}

Смотрите также: