测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A22732. #include <algorithm> #include <cstdio> #include <cstring> #define ll long long int n, k; int a[20000]; int ans[20007]; int main( ){ scanf("%d%d", &n, &k); for (int i=1; i<=n; ++i){ scanf("%d", &a[i])…

判断题 中等

题目描述

#include <algorithm>
#include <cstdio>
#include <cstring>
#define ll long long
int n, k;
int a[20000];
int ans[20007];
int main(    ){
    scanf("%d%d", &n, &k);
    for (int i=1; i<=n; ++i){
        scanf("%d", &a[i]);
    }
    std::sort(a+1, a+n+1);
    n = std::unique(a+1, a+n+1) - a - 1;
    for(int i=1, j=0; i<=n; ++i){
        for(; j<i && a[i]-a[j+1]>k; ++j);
        ans[i] = ans[j] + 1;
    }
    printf("%d\n", ans[n]);
    return 0;
}

当输入为“3 1 3 2 1”时,输出结果为2。(    )

选项(单选)

上一题 下一题