Clarke and food
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 620 Accepted Submission(s): 361
Total Submission(s): 620 Accepted Submission(s): 361
Problem Description
Clarke is a patient with multiple personality disorder. One day, Clarke turned into a cook, was shopping for food.
Clarke has boughtn
food. The volume of the i th
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.
Clarke has bought
Input
The first line contains an integer
T(1≤T≤10) ,
the number of the test cases.
For each test case:
The first line contains two integersn,V(1≤n≤105,1≤V≤109) .
The second line containsn
integers, the i th
integer denotes vi(1≤vi≤109) .
For each test case:
The first line contains two integers
The second line contains
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 num[100100]; int main() { int t; scanf("%d",&t); while(t--) { int n,v; memset(num,0,sizeof(num)); scanf("%d%d",&n,&v); for(int i=0;i<n;i++) scanf("%d",&num[i]); sort(num,num+n); int i; for(i=0;i<n;i++) { if(v-num[i]<0) break; else v-=num[i]; } printf("%d ",i); } return 0; }