#1366. [CSP2025 入门级] 第 26 题

[CSP2025 入门级] 第 26 题

#include <algorithm>
#include <cstdio>
#include <cstring>
#define ll long long
int n, k;
int a[200007];
int ans[200007];
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;
}

判断题

当输入的 n=100n=100k=2k=2a={1,2,,100}a = \{1, 2, \dots, 100\} 时,输出为( )。
A. 3434
B. 100100
C. 5050
D. 3333

{{ select(1) }}

  • 3434
  • 100100
  • 5050
  • 3333