8 条题解
-
1
本题思路(以下定义变量均使用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
- 上传者