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

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

만화

시간 제한2.5초메모리 제한256 MB

요약
길이 50만 이하인 수열에서, 모든 부분구간이 정확히 한 번만 나타나는 값을 포함하는 구간의 개수를 센다.
난이도

어려움10점 중 8점

유형
투 포인터, 분할 정복, 배열, 이분 탐색
정답자
아직 제출이 없습니다

문제

Sophie의 부모님은 Sophie가 가장 좋아하는 만화의 에피소드들을 DVD로 만들었다. Sophie가 보고 싶어 할 때 부모님은 에피소드 구간, 즉 DVD에서 연속한 에피소드들의 나열을 틀어 준다. 안타깝게도 DVD를 만들 때 조금 부주의해서 일부 에피소드가 반복되었고, Sophie는 이 점을 싫어한다. 어떤 에피소드 구간이 Sophie에게 흥미롭다는 것은 그 안에 다른 모든 에피소드와 다른 에피소드가 적어도 하나 존재한다는 뜻이다. 게다가 Sophie는 장난감을 조금 더 가지고 놀고 싶어서 구간의 앞부분 에피소드를 놓치기도 하고, 구간을 끝까지 보지 않아 뒷부분 에피소드를 놓치기도 한다. 따라서 에피소드 구간이 매우 흥미롭다는 것은 그 모든 부분 구간이 흥미롭다는 뜻이다.

Sophie의 부모님은 DVD의 에피소드 구간 중 어느 것이 매우 흥미로운지 궁금해한다. 부모님을 도와 DVD에 담긴 전체 구간이 주어졌을 때 그 부분 구간 중 매우 흥미로운 것의 개수를 구하자.

입력

첫 줄에는 DVD에 담긴 에피소드의 수인 자연수 nn (1≤n≤500 0001 \le n \le 500\,000)이 주어진다. 둘째 줄이자 마지막 줄에는 nn개의 자연수가 주어지며, ii번째 수는 ii번째 에피소드의 에피소드 번호 aia_i이다 (1≤ai≤1091 \le a_i \le 10^9).

출력

입력으로 주어진 만화 수열의 매우 흥미로운 구간의 개수를 자연수 하나로 출력한다.

힌트

예제 1에서 흥미로운 수열은 길이 1인 모든 수열, 길이 2인 세 수열(길이 2 중에서는 (6,6)(6, 6)만 흥미롭지 않다), 길이 3인 세 수열 모두, 길이 4인 한 수열 (6,1,6,6)(6, 1, 6, 6)이다. 이 중에서 (1,6,6)(1, 6, 6)과 (6,1,6,6)(6, 1, 6, 6)은 매우 흥미롭지 않다.

예제 2에서는 전체 수열 (1,2,3,1,2,3)(1, 2, 3, 1, 2, 3)만 매우 흥미롭지 않다.

예제2

  1. 예제 1

    입력
    5
    1 6 1 6 6
    
    예상 출력
    10
    
  2. 예제 2

    입력
    6
    1 2 3 1 2 3
    
    예상 출력
    20