페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#3685

사회적 거리두기 1 1초 128MB

문제

농부 창호는 무시무시한 소로나 바이러스(COWVID-19)로부터 자신의 소들을 보호하고자 한다.

소들이 살고 있는 공간은 왼쪽 끝 0번 헛간부터 N-1번 헛간까지 차례대로 배치된 N개의 헛간으로 나누어져 있다.

이 중에는 이미 소가 거주하고 있는 곳도 있고 없는 곳도 있다.

소 두 마리가 최근에 무리에 합류해서, 새로운 헛간을 배정받아야 한다. (이미 살고 있던 소들의 거주지는 옮기지 않는다.)

각 거주지간의 거리 중 가장 가까운 거리를 D라고 하자.

농부 창호는 소로나 바이러스 예방을 위해, 두 마리의 소에게 거주지를 배정한 후의 D를 최대화시키려고 한다.

D의 최대값을 구하는 프로그램을 작성하라. 


입력

첫 줄에 헛간의 수인 N이 주어진다.(1≤N≤100,000)

둘째 줄에, i번째 헛간의 거주상태인 A_i가 공백 없이 주어진다. 

A_i는 0 또는 1이며, 0이면 소가 살지 않는, 1이면 소가 살고 있는 헛간을 뜻한다. 두 개 이상의 0이 주어짐이 보장된다. 


출력

D의 최대값을 첫 줄에 출력한다.


부분문제

번호 점수 조건
#135점

N≤10

#214점

N≤​100

#321점

N≤​5,000

#430점

주어진 조건 외에 제약조건이 없다.


예제1

입력
14

10001001000010
출력
2

새로 거주하게 된 소가 X위치에 살면 된다.

10X010010X0010


태그


출처

USACO 2020 US Open Bronze

역링크 공식 문제집만