Решение задачи "Максимальный непрерывный отдых" с Codeforces

Без пояснения   Просмотров: 18


Сутки в Берляндии состоят из n часов. Поликарп — фанат тайм- менеджмента. Вот почему каждые сутки он использует одно и то же расписание — последовательность a1,a2,…,an (каждое ai равно либо 0 либо 1), где ai=0, если Поликарп работает в i-й час суток, и ai=1, если Поликарп отдыхает в i-й час суток.

Дни идут один за другим бесконечно, Поликарп использует одно и тоже расписание каждые сутки.

Какая длина в часах наибольшего непрерывного периода отдыха Поликарпа? Гарантируется, что в расписании есть хотя бы один рабочий час.

Код

#include <bits/stdc++.h>
using namespace std;

int main()
{
	int n,val=0,ans=0,i,j;
	cin>>n;
	int a[n];
	for(i=0;i<n;i++)
		cin>>a[i];
	for(i=0;i<2*n;i++)
	{
		if(a[i%n]==1)
			val++;
		else
			val=0;
		ans=max(ans,val);
	}
	cout<<min(ans,n);
	return 0;
}

         

Администратор Photo Автор: Администратор


Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться