만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

아마추어 농부

면접 대비

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

요약
꽃 배열에서 같은 종류가 연속으로 세 번 나오지 않는 가장 긴 구간을 찾아 시작과 끝 번호를 출력한다.
난이도

쉬움10점 중 3점

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

문제

도시에 사는 학생 레샤는 여름에 시골로 가서 꽃을 기르기 시작했다. 그는 길게 뻗은 밭고랑 하나를 따라 nn그루의 꽃을 심었고, 꽃은 모두 잘 자랐다. 레샤는 여러 가지 종류의 꽃을 심었으며, 밭고랑의 시작에서부터 세어 ii번째 꽃의 종류는 a_ia\_i이다. a_ia\_i는 <<어린 농부의 도감>>에 있는 해당 종류의 번호인 정수이다.

이제 레샤는 자신이 기른 꽃을 사진으로 찍어 농부들을 위한 소셜 네트워크 <<브콤포스테>>의 <<내 밭고랑>> 항목에 올리려고 한다. 사진에는 연속으로 심은 꽃 한 그루 이상으로 이루어진 구간이 찍힌다.

그런데 그는 사진에 같은 꽃이 연속으로 많이 보이면 사진이 그다지 흥미롭지 않다는 것을 알아차렸다. 레샤는 사진에 같은 종류의 꽃 세 그루가 연속으로 보이면, 꽃 사진 미학을 전공한 친구들이 좋아요를 적게 누를 것이라고 판단했다.

레샤가 자신의 밭고랑에서 같은 종류의 꽃 세 그루가 연속으로 나오지 않는 구간 중 가장 긴 것을 골라 사진을 찍도록 도와주자.

입력

첫째 줄에는 밭고랑에 있는 꽃의 수 nn이 주어진다 (1≤n≤200 0001 \le n \le 200\,000).

둘째 줄에는 nn개의 정수 a_ia\_i가 주어지며, 각각 다음 꽃의 종류를 나타낸다 (1≤a_i≤1091 \le a\_i \le 10^9). 같은 꽃은 같은 수로, 다른 꽃은 다른 수로 나타낸다.

출력

찾고 있는 가장 긴 구간에 있는 첫 번째 꽃과 마지막 꽃의 번호를 출력한다. 꽃은 11부터 nn까지 번호가 매겨진다.

가장 긴 구간이 여러 개라면 그중 아무 것이나 출력한다.

예제1

  1. 예제 1

    입력
    6
    5 6 6 6 23 9
    
    예상 출력
    3 6