음악

면접 대비

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

요약
여러 개의 작은 배열에서 최댓값과 최솟값의 차이가 c 이하인 길이 m 구간의 개수를 센다.
난이도

쉬움10점 중 3점

유형
슬라이딩 윈도우, 배열
정답자
아직 제출이 없습니다

문제

침묵은 쓸모가 없습니다. 우리는 세상이 음악으로 가득 차기를 바랍니다. 컴퓨터 음악에서 음량(volume)은 길이가 nn인 정수 배열로 표현됩니다. 음악에서의 침묵(silence)은 두 개의 매개변수 cc와 mm으로 정의됩니다. 길이가 mm인 어떤 연속 부분 배열에서 최댓값과 최솟값의 차이가 cc 이하이면, 그 구간에서 침묵이 발생합니다.

예를 들어 음량 배열이 [1,3,2,7,5,4,6,6][1, 3, 2, 7, 5, 4, 6, 6]이고 m=3m = 3, c=2c = 2인 경우, 시작 인덱스가 0, 4, 5인 길이 3짜리 부분 배열에서 침묵이 발생합니다. 침묵이 발생하는 구간의 총 개수를 출력하세요.

입력

첫째 줄에는 뒤따르는 데이터 집합의 개수를 나타내는 정수가 주어집니다. 각 데이터 집합은 두 줄로 이루어집니다. 첫째 줄에는 세 정수 nn, mm, cc가 주어집니다 (n≤20n \le 20, m≤20m \le 20, c≤1000c \le 1000). 둘째 줄에는 음량 배열을 나타내는 nn개의 정수가 주어지며, 각 정수는 10001000 이하입니다.

출력

각 데이터 집합에 대해, 침묵이 발생하는 구간의 총 개수를 출력하세요.

예제3

  1. 예제 1

    입력
    3
    8 3 2
    1 3 2 7 5 4 6 6
    4 2 1
    1 2 3 4
    4 5 900
    1 1 1 1
    
    예상 출력
    3
    3
    0
    
  2. 예제 2

    입력
    1
    5 1 0
    1 2 3 4 5
    
    예상 출력
    5
    
  3. 예제 3

    입력
    1
    5 5 10
    1 2 3 4 5
    
    예상 출력
    1