题目描述
部门组织绿岛骑行团建活动。租用公共双人自行车,每辆自行车最多坐两人,最大载重M。
给出部门每个人的体重,请问最多需要租用多少双人自行车。
输入描述
第一行两个数字m、n,分别代表自行车限重,部门总人数。
第二行,n个数字,代表每个人的体重,体重都小于等于自行车限重m。
0<m<=200
0<n<=1000000
输出描述
最小需要的双人自行车数量。
用例
题目解析
本题的条件:
- 一辆车最多2个人
- 人体重都小于等于自行车限重m
本题需要最少的车辆,即尽可能组合出重量小于等于m的两人组。
按照体重升序排序,利用双指针,一个在头,一个在尾部,如果两个体重加起来大于车的载重,那么表示尾部的人太重了。他只能自己骑。如果小于载重,说明有可以一起骑车。
C++
#include <iostream>