Rounddog를 행복하게 만들기
시간 제한2초메모리 제한512 MB
원소가 모두 서로 다르고 최댓값에서 길이를 뺀 값이 k 이하인 부분 배열의 개수를 센다. 배열 길이는 최대 300,000이고 원소는 1 이상 n 이하다.
문제
Rounddog는 오른쪽 주머니에 항상 배열 을 넣고 다니며, 이 배열은 을 만족한다.
부분 배열이란 원래 배열의 비어 있지 않은 연속한 구간이다. Rounddog는 구간 에 있는 모든 원소가 서로 다르고 를 만족할 때 이 구간을 좋은 부분 배열이라고 정의한다.
Rounddog는 오늘 행복하지 않다. 그의 가장 친한 친구인 당신은 그를 행복하게 만들기 위해 의 모든 좋은 부분 배열을 찾으려 한다. 의 좋은 부분 배열의 개수를 구하시오.
입력
입력은 여러 테스트 케이스로 이루어지며, 첫째 줄에 테스트 케이스의 수 ()가 주어진다.
각 테스트 케이스의 첫째 줄에는 두 정수 ()과 ()가 주어진다.
둘째 줄에는 개의 정수가 주어지며, 번째 정수는 ()이다.
모든 테스트 케이스에서 의 합은 을 넘지 않는다.
출력
각 테스트 케이스마다 주어진 배열의 좋은 부분 배열 개수를 한 줄에 하나씩 출력한다.