1149

来源:互联网 发布:各国经济数据 编辑:程序博客网 时间:2024/06/06 03:03


UVA-1149:

     题目大意:给定n个物品的重量,无限个容量为m的箱子,每个箱子最多装两个物品,要把所有的物品都装下,最少需要多少个箱子

    题目分析:贪心策略:每次将最重和最轻的两个物品放到一个箱子里,如果装不下,则将最重的单独装到一个箱子里。

    点击打开链接

#include <bits/stdc++.h>using namespace std;int main(){    int n;    cin>>n;    while(n--){        int l,m,a[100005];        cin>>m>>l;        for(int i=0;i<m;i++){           cin>>a[i];        }        sort(a,a+m);        int cnt=0,mm=m-1,i=0;        while(i<=mm){            if(a[i]+a[mm]<=l) i++;            cnt++;mm--;        }        cout<<cnt<<endl;        if(n) cout<<endl;    }    return 0;}


0 0
原创粉丝点击