1767. 珅泽教育CSP-J第一轮模拟考第八套 第 26 题

珅泽教育CSP-J第一轮模拟考第八套 第 26 题

二、阅读程序·第2题(选择题)

int solve(int n, int a[])
{
    std::sort(a, a + n);
    int half = n / 2;
    int j = half;
    int pair = 0;
    for (int i = 0; i < half; ++i)
    {
        while (j < n && a[i] * 2 > a[j])
        {
            j++;
        }
        if (j < n)
        {
            pair++;
            j++;
        }
    }
    return pair;
}

该程序的时间复杂度为( )。

{{ select(1) }}

  • Θ(n)\Theta(n)
  • Θ(nlog⁡n)\Theta(n\log n)
  • Θ(n2)\Theta(n^2)
  • Θ(2n)\Theta(2^n)