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

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

United Cows of Farmer John

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

요약
길이가 2 이상인 구간 중 양 끝 소의 품종이 구간 안 다른 곳에 나타나지 않는 구간의 수를 센다.
난이도

보통10점 중 7점

유형
배열, 누적 합, 조합론, 구현
정답자
아직 제출이 없습니다

문제

United Cows of Farmer John(UCFJ)은 International bOvine olympIad(IOI)에 대표단을 파견한다.

대표단 선발에 참여하는 소는 NN마리이다(1≤N≤2⋅1051 \leq N \leq 2 \cdot 10^5). 소들은 한 줄로 서 있고, ii번째 소의 품종은 b_ib\_i이다.

대표단은 적어도 두 마리의 연속한 구간으로 구성된다. 즉, 1≤l<r≤N1\le l<r\le N인 정수 ll과 rr에 대해 l…rl\ldots r번째 소들이다. 선택한 구간의 양 끝 두 마리는 "대표"로 지정된다. 품종 간의 갈등을 피하기 위해, 각 대표의 품종은 대표단의 나머지 소들(대표이든 아니든)의 품종과 달라야 한다.

UCFJ가 IOI에 파견할 대표단을 선택할 수 있는 경우의 수를 (세금 문제로) 구하도록 도와주자.

입력

첫째 줄에 NN이 주어진다.

둘째 줄에 NN개의 정수 b_1,b_2,…,b_Nb\_1,b\_2,\ldots,b\_N이 주어지며, 각 값은 [1,N][1,N] 범위에 있다.

출력

가능한 대표단의 수를 한 줄에 출력한다.

이 문제에서 다루는 정수의 크기가 크므로 64비트 정수형(예: C/C++의 "long long")이 필요할 수 있다.

힌트

각 대표단은 다음 대표 쌍 중 하나에 대응한다: (1,2),(1,3),(1,4),(1,7),(2,3),(2,4),(3,4),(4,5),(4,6),(4,7),(5,6),(5,7),(6,7).(1,2),(1,3),(1,4),(1,7),(2,3),(2,4),(3,4),(4,5),(4,6),(4,7),(5,6),(5,7),(6,7).

예제1

  1. 예제 1

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