5359

#include <stdio.h>
#include <stdlib.h>

int main(void){
    // 테스트 케이스 입력
    int test_case = 0;
    scanf("%d", &test_case);

    for(int i = 0; i < test_case; i++){
        // 배열 길이, 검사할 배열 길이, 검사할 숫자 입력
        int n = 0, m = 0, c = 0;
        scanf("%d %d %d", &n, &m, &c);
        
        // 배열 입력 받기
        int *arr =(int *)malloc(sizeof(int)*n);
        for(int j = 0; j < n; j++){
            scanf("%d", &arr[j]);
        }

        // 조건을 만족하는 구간의 개수 구하기
        int a = n - m, count = 0;
        for(int t = 0; t <= a; t++){
            int min = 1000, max = 0;
            // min, max 구하기
            for(int k = 0+t; k < m+t; k++){
                if(min > arr[k]){
                    min = arr[k];
                }
                
                if(max < arr[k]){
                    max = arr[k];
                }
            }

            // max - min가 c와 같으면 조건을 만족하여 count++
            int gap = max - min;
            if(gap == c){
                count ++;
            }
        }

        // 출력
        printf("%d\n", count);
        free(arr);
    }

    return 0;
}

'백준' 카테고리의 다른 글

[ 백준 / C ] 18706번 : Coffee  (0) 2026.01.16
[ 백준 / C ] 9388번 : Arbiter Login  (0) 2026.01.16
[ 백준 / C ] 10430번 : 나머지  (0) 2026.01.13
[ 백준 / C ] 2439번 : 별 찍기 - 2  (0) 2026.01.13
[ 백준 / C ] 2920번 : 음계  (0) 2026.01.09

+ Recent posts