페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#8256
서브태스크

베시는 "무우~!"를 외쳤어! 1초 1024MB

문제

Farmer John은 자신이 가장 좋아하는 USACO 대회를 Elsie에게 설명하려 하지만, Elsie는 왜 그렇게 좋아하는지 이해하지 못하고 있다.

Farmer John은 이렇게 말한다.

"내가 가장 좋아했던 순간은 베시가대회 전체에서 무우~!를 외쳤던 순간이야."

하지만 Elsie는 여전히 이해하지 못한다. 그래서 Farmer John은 대회 데이터를 텍스트 파일로 다운로드하여 설명하려고 한다.

이 대회는 N개의 정수로 이루어진 배열로 정의된다.
배열은 다음과 같이 주어진다.

a_1, a_2, \dots, a_N (1 ≤ N ≤ 10^6, 1 ≤ a_i ≤ N)

Farmer John은 moo를 세 개의 정수로 이루어진 배열로 정의한다.
즉, (x, y, y) 형태이며, 다음 조건을 만족해야 한다.

  1. 두 번째와 세 번째 정수는 같아야 한다 (y = y).

  2. 첫 번째 정수는 두 번째 정수와 달라야 한다 (x ≠ y).

어떤 moo가 주어진 배열 안에서 등장했다고 하려면,
해당 배열에서 일부 원소를 제거하여 moo 배열만 남도록 만들 수 있어야 한다.

Farmer John은 베시가 "대회 전체에서 무우~!" 했다고 주장한다.
즉, 주어진 배열에서 등장할 수 있는 서로 다른 moo의 개수를 세어야 한다.

(두 moo는 같은 숫자들이 같은 순서로 구성되지 않는다면 서로 다른 moo로 간주한다)


입력

첫 번째 줄에 정수 N이 주어진다.

두 번째 줄에 N개의 정수가 공백으로 구분되어 주어진다.


출력

첫 줄에 배열에서 등장할 수 있는 서로 다른 moo의 개수를 출력하라.

⚠️ 주의:

  • N의 크기가 최대 10^6이므로, 효율적인 알고리즘이 필요하다.

  • 또한, 큰 정수 연산이 필요할 수 있으므로 64비트 정수형(long, long long 등)을 사용할 것을 권장한다.


부분문제

번호 점수 조건
#120점

N≤10^2

#230점

N≤10^4

#350점

추가 제약 조건 없음


예제1

입력
6
123444
출력
3

"1 4 4", "2 4 4", "3 4 4"


출처

USACO 2025 January Bronze

역링크