아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

세워라 반석 위에

면접 대비

시간 제한1초메모리 제한512 MB

요약
값이 1부터 10까지인 수열에서 최댓값과 최솟값의 차이가 2 이하인 가장 긴 연속 부분 수열의 길이를 구한다.
난이도

보통10점 중 5점

유형
슬라이딩 윈도우, 투 포인터, 배열, 구현
정답자
아직 제출이 없습니다

문제

드높은 남산 위에 우뚝 선

(중략)

세워라 반석 위에

선린의 터를

반석: 넓고 평평한 큰 돌, 너럭바위

어떤 수열이 반석이라는 것은, 수열의 최댓값과 최솟값의 차이가 2 이하임을 의미한다.

예를 들어 1 2 3 3 1 2는 최댓값(3)과 최솟값(1)의 차이가 2이므로 반석이고, 2 6 5 4는 최댓값(6)과 최솟값(2)의 차이가 4이므로 반석이 아니다.

수열이 주어지면 수열의 연속한 부분 수열(부분 문자열, substring) 중, 가장 긴 반석의 길이를 구하는 프로그램을 작성하자.

입력

첫 번째 줄에 수열의 길이 NN이 주어진다.

두 번째 줄에는 수열 AA의 원소 A1,A2,⋯ ,ANA_1, A_2, \cdots, A_N이 공백으로 구분되어 주어진다.

출력

수열 AA의 연속한 부분 수열 중 가장 긴 반석의 길이를 출력한다.

제한

1≤N≤1 000 0001 \leq N \leq 1\,000\,000

1≤Ai≤101 \leq A_i \leq 10

예제2

  1. 예제 1

    입력
    5
    1 2 1 3 1
    
    예상 출력
    5
    
  2. 예제 2

    입력
    7
    1 2 3 4 2 5 7
    
    예상 출력
    4