问题描述
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
void boat(float *a,int n,float C)
{
sort(a,a+n);
int i=0;
int j=n-1;
int boatsum=0;
while(i<=j)
{
if(i==j)
{
boatsum++;
break;
}
if(a[i]+a[j]<=C)
{
boatsum++;
i++;
j--;
}
else//j一个人坐一辆船;
{
boatsum++;
j--;
}
}
}
int main()
{
while(1)
{
int n;
cin>>n;
float C;
cin>>C;
float a[n];
memset(a,0,sizeof(a));
for(int i=0;i<n;i++)
cin>>a[i];
boat(a,n,C);
}
}