【题目描述】
有n(0<n<1000)个人,第i个人体重为wi(0<=i<n),每艘船的最大载重量均为C,且最多只能乘两个人,试用最少的船装载所有人。
【输入】
第一行,一个正整数,表示n的值;第二行是n个整数,表示n个人的体重;第三行,一个正整数,表示船的最大载重量C的值。
【输出】
一个整数,表示最少的船数。
【输入样例】
3
80 120 50
180
【输出样例】
2
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int n,i,m;
cin>>n;
int a[n];
for(i=0;i<n;i++){
cin>>a[i];
}
cin>>m;
sort(a,a+n);
int sum=0;
int j=n-1;
i=0;
while(i<=j){
if(a[i]+a[j]>m){
sum++;
j--;
}
else{
sum++;
i++;
j--;
}
}
cout<<sum<<endl;
}