Я бы сделал примерно так.
Пишем функцию, которая по 3 значениям определяет есть зуб, или нет.
Т. е. функция зуб(X1, X2, X3)
Если ((X1<X2)и(X2>X3))или((X1>X2)и(X2<X3)) то это зуб иначе не зуб.
В основной программе пишем цикл от первого значения до последнего - 2 элемента. В нем проверяем, если сейчас зуб, то увеличиваем счетчик на 1, если не зуб или конец последовательности, то сравниваем значение счетчика с предыдущим максимальным значением, если новое больше, то сохраняем новое значение. Небольшой пример ниже.
Код
int mv = 0; //Максимальное значение
int cv = 0; //Текущее значение
for (int i=0; i<100; i++)
{
  if (istooth(a[i], a[i+1], a[i+2])
  {
    cv++;
  }
  else
  {
    if (cv>mv)
      mv = cv;
    cv = 0;
  }
}
if (cv>mv)
  mv = cv;

В mv будем максимальная длина.