#include <algorithm>#include <cstdio>#include <cstring>#define ll long longint 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;}当输入为 3 1 3 2 1 时,输出结果为 。( )
假设输入的 为正整数,输出的答案一定小于等于 ,大于等于 。( )
将第 14 行的 n = std::unique(a + 1, a + n + 1) - a - 1; 删去后,有可能出现与原本代码不同的输出结果。( )
假设输入的 数组和 均为正整数,执行第 18 行代码时,一定满足的条件不包括( )。
当输入的 、、 时,输出为( )。
假设输入的 数组和 均为正整数,但 数组不一定有序,则若误删去第 13 行的 std::sort(a + 1, a + n + 1);,程序有可能出现的问题有( )。