Есть К чисел, которые равняются 0 или 1

Есть К чисел, которые равняются 0 или 1
Есть К чисел, которые равняются 0 или 1. Пользователь вводит эти числа с клавиатуры.
Найти номер элемента, с которого начинается самая длинная последовательность одинаковых чисел, и количество элементов в этой последовательности. Если таких последовательностей несколько, то вывести номер первой из них.
У кого есть идеи?
(паскаль)

  • var Lmax,L,nt,N i,j,k,n:integer;a:array[1..100000]of word;
    begin
    readln (k);
    Lmax:=0;
    for i:=1 to k do read (a);
    i:= 1 ;
    while i=a[i+1] do begin
    inc(i)
    inc(L)
    end;
    if L>Lmax then begin
    Lmax:=L;
    N:=nt:
    end;
    inc(i);
    end;
    write (N,Lmax);
    end.
    както так. возможны синтаксические ошибки тк писал прям тут
  • Тот кому ето надо должен учится переводить шеснацеричное вычесление в буквенное и все в уме, ето возможно после длительных тренировок. Можно 255 и больше 1и0 запомнить.
    Источник: Я
  • Для ответа нужен пример вашей программы. А вообще найти последовательность можно с помощью циклов с условиями. Сохранять числа можно в строку или динамический массив.
  • это не идеи, это программа.
    Паскаль плохо помню и сильно пьян, поэтому напишу на Си:
    #include
    #define N 15
    void main()
    {
    int arr[N]={0,1,1,0,0,1,1,1,0,0,0,1,1,1,1}, i, len, maxlen, inside, inside1, i0, maxi;
    for(i=0, len=1, maxlen=0, inside1=-1, i0=-1, maxi=0; i)inside=1; else inside=0;
    if(inside!=inside1 || i==N-1){ inside1=inside; if(len>maxlen){ maxlen=len; maxi=i0; } i0=i; len=1; } else len++;
    }
    printf("N=%d, I0=%dn", maxlen, maxi);
    getchar();
    }