Greedy Algorithms
Being greedy for Water
#include <bits/stdc++.h>
using namespace std;
int main() {
int T;
cin >> T;
while (T--) {
int numberOfBottles, capacityOfTheContainer;
cin >> numberOfBottles >> capacityOfTheContainer;
int A[numberOfBottles];
for (int i = 0; i < numberOfBottles; i++) {
cin >> A[i];
}
sort(A, A + numberOfBottles);
int capacity = 0, noOfBottlesFilled = 0;
for (int i = 0; i < numberOfBottles; i++) {
capacity = capacity + A[i];
if (capacity <= capacityOfTheContainer)
noOfBottlesFilled++;
else
break;
}
cout << noOfBottlesFilled << endl;
}
}Last updated