0
点赞
收藏
分享

微信扫一扫

hdoj Clarke and food 5562 (简单题)


Clarke and food


Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 608    Accepted Submission(s): 357



Problem Description


Clarke is a patient with multiple personality disorder. One day, Clarke turned into a cook, was shopping for food.
Clarke has bought n food. The volume of the ith food is vi. Now Clarke has a pack with volume V. He wants to carry food as much as possible. Tell him the maxmium number he can brought with this pack.




Input


T(1≤T≤10), the number of the test cases.
For each test case:
The first line contains two integers n,V(1≤n≤105,1≤V≤109).
The second line contains n integers, the ith integer denotes vi(1≤vi≤109).




Output


For each test case, print a line with an integer which denotes the answer.



Sample Input


1 3 5 1 3 4




Sample Output


2 Hint: We can carry 1 and 3, the total volume of them is 5.


#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int a[100010];
int main()
{
	int t,n,m,i,j;
	scanf("%d",&t);
	while(t--)
	{
		memset(a,0,sizeof(a));
		scanf("%d%d",&n,&m);
		for(i=1;i<=n;i++)
			scanf("%d",&a[i]);
		sort(a+1,a+n+1);
		for(i=1;i<=n;i++)
		{
			if(m-a[i]<0)
				break;
			else
				m-=a[i];
		}
		printf("%d\n",i-1);
	}
	return 0;
}


举报

相关推荐

0 条评论