#11662. 珅泽教育CSP-J第一轮模拟考第十六套 第 25 题

珅泽教育CSP-J第一轮模拟考第十六套 第 25 题

二、阅读程序(判断题每题1分,选择题每题3分,共计40分;判断题正确填 T,错误填 F)

第2题

int solve(int n, int d, int x[])
{
    std::sort(x, x + n);
    int pair = 0;
    int j = 0;
    for (int i = 0; i < n; ++i)
    {
        while (j < n and x[j] - x[i] <= d)
        {
            j++;
        }
        pair += j - i - 1;
    }
    return pair;
}

该程序的功能是( )。

{{ select(1) }}

  • 统计满足 i<ji<jx[j]x[i]dx[j]-x[i]\le d 的点对个数
  • 统计满足 xixjd|x_i-x_j|\le d 的有序点对数(即 (i,j)(i,j)(j,i)(j,i) 各计一次)
  • 统计排序后差值恰好等于 dd 的点对个数
  • 求排序后相邻元素之差不超过 dd 的最长连续段长度