参考代码:
#include <iostream>
using namespace std;
void quick_sort(int a[],int begin,int end)//数组排序函数
{
if(begin>end) return ;
int t=a[begin],b=begin,e=end;
while(b<e)
{
while(a[e]>=t&&b<e) e--;
a[b]=a[e];
while(a[b]<=t&&b<e) b++;
a[e]=a[b];
}
a[e]=t;
quick_sort(a,begin,e-1);
quick_sort(a,e+1,end);
return;
}
int main()
{
int w,n,s,i,j;
cin>>w>>n;
int a[n];
for(i=0;i<n;i++)
{
cin>>a[i];
}
quick_sort(a,0,n-1);
i=0; j=n-1; s=0;
while(i<j)
{
if(a[j]+a[i]<=w)
{
--j; ++i;
++s;
}
else
{
--j;
++s;
}
}
if(i==j) ++s;//如果i=j,那么a[i]还未被分组,则++S,分组+1
cout<<s;
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:692 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:596 |
简单的a+b (C语言代码)浏览:717 |
回文串 (C语言代码)浏览:2858 |
WU-格式化数据输出 (C语言代码)浏览:1755 |
用筛法求之N内的素数。 (C语言代码)浏览:649 |
三角形 (C语言代码)浏览:914 |
矩形面积交 (C++代码)浏览:1129 |
模拟计算器 (C语言代码)浏览:2300 |
矩阵的对角线之和 (C语言代码)浏览:1356 |