Link: https://www.acmicpc.net/problem/13144
길이가 N인 수열이 주어질 때, 수열에서 연속한 1개 이상의 수를 뽑았을 때 같은 수가 여러 번 등장하지 않는 경우의 수를 구하는 프로그램을 작성하여라.
import sys
si = sys.stdin.readline
N = int(si())
N_list = list(map(int,si().split()))
count = [0] * 100001
R = -1
ans = 0
sum = 0
for L in range(N):
while R+1 < N and count[N_list[R+1]] == 0:
R += 1
count[N_list[R]] += 1
sum += 1
ans += sum
sum -= 1
count[N_list[L]] -= 1
print(ans)