8 条题解

  • 1
    @ 2026-7-14 10:10:09

    本题思路(以下定义变量均使用int类型):

    step 1: 读入数据(w,n)

    step 2:定义大小为n的数组(vla或动态数组) 动态数组需要申请n个元素(.resize(n))

    step 3:输入数据(0~n-1)

    step 4:使用algorithm头文件里面的stable_sort/sort排序函数或者自行手写希尔/归并排序,无需使用greater()降序函数

    step 5:定义双指针(left 最小值,right 最大值),left = 0,right = n - 1 ,ans = 0;(分组数量)

    step 6: 定义while循环,条件为left<=right

    step 7:若a[left]+a[right](最大值+最小值) > w,则right--(切换到第二最大值),ans++;反之则left++(切换到第二最小值),right--(同上),ans++(分组数量加1)

    step 8:输出ans,return 0

    为杜绝抄袭现象,本篇题解不放出任何代码,请读者根据上方伪代码,编写出自己的代码

    信息

    ID
    692
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    428
    已通过
    131
    上传者