Minmax28. Дано целое число $$N$$ и набор из $$N$$ целых чисел, содержащий только нули и единицы. Найти номер элемента, с которого начинается самая длинная последовательность единиц, и количество элементов в этой последовательности. Если таких последовательностей несколько, то вывести номер последней из них. Если единицы в исходном наборе отсутствуют, то дважды вывести $$0$$.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#include <stdio.h> int main(void) { int b=2,num=0,numi=1,maxnum=0,maxi=0,n,i; printf("N:"); scanf("%i", &n); for (i=1; i<=n; ++i){ printf("%i>",i); scanf("%i", &b); if(b==1) { ++num; maxi=numi; } else{ if (num>=maxnum) maxnum=num; numi=i+1; num=0; } } if ((num>=maxnum)&&(b==1)){ maxnum=num; maxi=numi; } printf("%i %i\n",maxi,maxnum); return 0; } |
Другие задачи из раздела Minmax можно посмотреть здесь.
Добавлю свой вариант решения: