BestCoder Round #62 (div.2)Clarke and food (简单贪心)

来源:互联网 发布:apache日志 400 编辑:程序博客网 时间:2024/06/18 08:14

题目链接
题意:有个背包容量是V,现在有n个物品,每个物品有一个体积,问背包最多能装多少个。
解法:先排序,从小到大选。

#include<cstdio>#include<iostream>#include<algorithm>#include<cmath>#include<set>#include<map>#include<string>#include<cstring>#include<stack>#include<queue>#include<vector>#include<limits>#include<ctime>#include<cassert>#include<cstdlib>using namespace std;#define LL long long#define pb push_back#define X first#define Y second#define cl(a,b) memset(a,b,sizeof(a))typedef pair<int,int> P;const int maxn=100005;const int inf=1<<27;#define mod 1000000007LL a[maxn];int main(){    int T;    scanf("%d",&T);    while(T--){        LL n,v;        scanf("%lld%lld",&n,&v);        for(int i=0;i<n;i++){            scanf("%lld",&a[i]);        }        sort(a,a+n);        LL sum=0;        LL ans=0;        for(int i=0;i<n;i++){            sum+=a[i];            if(sum>v){                break;            }ans++;        }        printf("%lld\n",ans);    }    return 0;}
0 0
原创粉丝点击