描述
有 n 个人,需要过河,第 i 个人的体重为wi,河边有很多船,每艘船的最大载重为m且最多可以上两个人,问最少需要多少艘船。
输入描述
第一行输入两个整数 n 和 m,表示人数和船的载重。
第二行 n 个整数,用空格隔开,表示体重。
输出描述
一个整数,表示需要的最少船只。
样例输入 1
6 120 15 17 102 70 90 68
样例输出 1
4
提示
数据范围与提示
1≤n,m≤200,1≤wi≤100,wi≤m
#include<bits/stdc++.h>
using namespace std;
int n,w,a[205];
int main(){
cin>>n>>w;
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a,a+n);
int i =0,j=n-1,cnt=0;
while(i<=j){
if(a[i]+a[j]<=w) i++;
cnt++;
j--;
}cout<<cnt;
}

1012

被折叠的 条评论
为什么被折叠?



