Bin Packing hoj

来源:互联网 发布:数据库oracle考试 编辑:程序博客网 时间:2024/06/05 22:43

/*就是一超级大水题。没的说。排完序后每次去最大和最小值的和,如果大于给定数,则最大的置0.*/#include <iostream>#include <stdio.h>#include <algorithm>using namespace std;int a[100005];int main(){    int n,l;    while(scanf("%d",&n)==1)    {        scanf("%d",&l);        for(int i=0;i<n;i++)        scanf("%d",&a[i]);        sort(a,a+n);        int count=0;        int p=n-1,q=0;        while(p>=q)        {            if(a[p]+a[q]>l)            {                count++;                p--;            }            else            {                count++;                p--;                q++;            }        }        printf("%d\n",count);    }    return 0;}


原创粉丝点击