60037 불안정한 수열 Silver IV

시간 제한: 1.5초 (추가 시간 없음) 메모리 제한: 1024MB

문제

NN개의 자연수가 좌우 일렬로 놓여 있다. 왼쪽에서 ii (1iN1 \le i \le N)번째에 놓여 있는 자연수는 AiA_i다.

여러분은 이 중 몇 개의 자연수를 원하는 만큼 고를 수 있다. 단, 아무 자연수도 고르지 않는 것은 허용되지 않으며, 반드시 11개 이상의 자연수를 골라야 한다.

여러분이 고른 자연수의 개수를 kk라고 하고, 고른 자연수들을 B1B_1, B2B_2, \cdots, BkB_k 라고 하자. 고른 자연수들의 순서는 기존에 놓여 있던 순서 그대로 유지된다.

예를 들어, N=5N = 5, A=[3,1,4,1,5]A = [3, 1, 4, 1, 5] 라고 하자. 여러분이 왼쪽에서 두 번째, 네 번째, 다섯 번째에 놓여 있는 자연수를 고르면, k=3k = 3이고, B=[1,1,5]B = [1,1,5]가 된다.

BB의 첫 번째 자연수와 두 번째 자연수의 합, 두 번째 자연수와 세 번째 자연수의 합, 세 번째 자연수와 네 번째 자연수의 합, … 과 같이, 이웃한 두 자연수의 합을 구했을 때, 항상 홀수라면, BB불안정한 수열이라고 하자. k=1k = 1이면 특별히 BB는 불안정한 수열이라고 본다.

예를 들어, k=6k=6, B=[1,4,3,2,5,4]B=[1,4,3,2,5,4]라면, BB의 첫 번째 자연수(11)와 두 번째 자연수(44)의 합은 55로 홀수이고, 두 번째 자연수(44)와 세 번째 자연수(33)의 합은 77로 홀수이고, 세 번째 자연수(33)와 네 번째 자연수(22)의 합은 55로 홀수이고, 네 번째 자연수(22)와 다섯 번째 자연수(55)의 합은 77로 홀수이고, 다섯 번째 자연수(55)와 여섯 번째 자연수(44)의 합은 99로 홀수이므로, 이웃한 두 자연수의 합이 항상 홀수라서, BB는 불안정한 수열이다.

또한, k=1k=1, B=[2]B=[2]라면, k=1k=1이므로, BB는 불안정한 수열이다.

하지만, k=4k=4, B=[4,5,1,2]B=[4,5,1,2]라면, BB의 첫 번째 자연수(44)와 두 번째 자연수(55)의 합은 99로 홀수이지만, 두 번째 자연수(55)와 세 번째 자연수(11)의 합은 66으로 짝수이므로, 이웃한 두 자연수의 합이 홀수가 아닌 경우가 있어서, BB는 불안정한 수열이 아니다.

여러분은 BB가 불안정한 수열이 되도록 하면서, 가장 많은 개수의 자연수를 골라야 한다. 이 때, 최대 몇 개의 자연수를 고를 수 있는지 구하는 프로그램을 작성하라.

예를 들어, a=[4,5,1,2]a=[4,5,1,2]일 때를 살펴보자. 만약 모든 자연수를 고르면 B=[4,5,1,2]B=[4,5,1,2]가 되고, 이는 불안정한 수열이 아니므로, 44개의 자연수를 골라서 불안정한 수열을 만들 수는 없다. 하지만, 왼쪽에서 첫 번째, 세 번째, 네 번째에 놓여 있는 자연수를 고르면 B=[4,1,2]B = [4,1,2]가 되고, BB의 첫 번째 자연수(44)와 두 번째 자연수(11)의 합은 55로 홀수이고, 두 번째 자연수(11)와 세 번째 자연수(22)의 합은 33으로 홀수이므로, 이웃한 두 자연수의 합이 항상 홀수라서, BB는 불안정한 수열이다. 따라서, 33개의 자연수를 골라서 불안정한 수열을 만들 수 있으며, 이것이 최대이다.

입력

첫 번째 줄에 NN이 주어진다.

두 번째 줄에 A1A_1, A2A_2, \cdots, ANA_N이 공백을 사이에 두고 차례대로 주어진다.

출력

첫 번째 줄에 답을 출력한다.

제한

  • 주어지는 모든 수는 자연수다.
  • 1N3000001 \le N \le 300\,000
  • 1Ai1000001 ≤ A_i ≤ 100\,000 (1iN1 ≤ i ≤ N)

서브태스크

번호배점제한
15정답은 N1N-1 또는 NN이다.
28N15N \le 15
312N5000N \le 5\,000
415Ai50A_i \le 50 (1iN1 \le i \le N)
560추가 제약 조건 없음.

예제 입출력

예제 입력 1
4
4 5 1 2
예제 출력 1
3
예제 입력 2
3
3 2 3
예제 출력 2
3
예제 입력 3
5
3 3 3 3 3
예제 출력 3
1

출처

올림피아드 한국정보올림피아드 KOI 2023 2차 초등부 1번
solution.cpp
에디터 불러오는 중...