首页 / 客观题库

70017 - 2025CSP-J阅读程序2

题目(材料题)

1 #include <algorithm>
2 #include <cstdio>
3 #include <cstring>
4 #define ll long long
5 int n, k;
6 int a[200007];
7 int ans[200007];
8
9 int main() {
10    scanf("%d%d", &n, &k);
11    for (int i = 1; i <= n; ++i) {
12       scanf("%d", &a[i]);
13    }
14    std::sort(a + 1, a + n + 1);
15    n = std::unique(a + 1, a + n + 1) - a - 1;
16    for (int i = 1, j = 0; i <= n; ++i) {
17        for (; j < i && a[i] - a[j + 1] > k; ++j)
18            ;
19        ans[i] = ans[j] + 1;
20    }
21    printf("%d\n", ans[n]);
22    return0;
23 }

||

22. 当输入为 "3 1 3 2 1" 时,输出结果为 2。(  )

正确

错误

23. 假设输入的 n为正整数,输出的答案一定小于等于 n,大于等于 1。( 

正确

错误

24. 将第 14 行的 "n = std::unique(a+1, a+n+1) - a - 1;" 删去后,有可能出现与原本代码不同的输出结果。(  )

正确

错误

( 单选 )

25. 假设输入的 a数组和 k均为正整数,执行第 18 行代码时,一定满足的条件不包括 (  )

A $j \le i$

B $ a[i]-a[j]>k$

C j < n

D $ a[j]

( 单选 )

26. 当输入的n=100 、k=2、a=1,2....,100 时,输出为( )

A 34

B 100

C 50

D 33

( 单选 )

27. 假设输入的a数组和 k均为正整数,但 a 数组不一定有序,则若误删去第 13 行的 "std::sort(a+1, a+n+1);",程序有可能出现的问题有( )。

A 输出的答案比原本答案更大

B 输出的答案比原本答案更小

C 出现死循环行为

D 以上均可能发生

意见反馈

    最多上传3张图片,格式为JPG、PNG、JPEG,单张不超过5MB

    注册

    发送验证码

    密码必须包含数字、字母和特殊字符

    找回密码

    发送验证码

    密码必须包含数字、字母和特殊字符

    运行 ID:67149

    • 测试点1:Accepted
    • 用时:0 ms
    • 内存:288 kb
    • 测试点2:Accepted
    • 用时:0 ms
    • 内存:288 kb
    输入
    203
    输出
    203

    test

    测评信息

    错误.in文件下载

    错误.out文件下载

    运行 ID:67149

    2019-01-24 15:06:36