習題 8-1 裝箱(Bin Packing, SWERC 2005, UVa1149)

Barsaker發表於2020-12-22

原題連結:https://vjudge.net/problem/UVA-1149
分類:貪心法
備註:水題

    #include<bits/stdc++.h>
    using namespace std;
    const int maxn=1e5+5;
    int t,n,l,x,a[maxn];
    int main(void){
        //freopen("in.txt","r",stdin);
        scanf("%d",&t);
        while(t--){
            if(x++)printf("\n");
            scanf("%d %d",&n,&l);
            for(int i=1;i<=n;i++)scanf("%d",&a[i]);
            sort(a+1,a+1+n);
            int pos=1,ans=0;
            for(int i=n;i>=pos;i--){
                int tmp=l-a[i];
                if(tmp-a[pos]>=0)pos++;
                ans++;
            }
            printf("%d\n",ans);
        }
        return 0;
    }

相關文章