Проблема
В продаже N домов. Купить i-й дом стоит Ai долларов. У вас есть бюджет в размере B долларов, который вы можете потратить.
Какое максимальное количество домов вы можете купить?
Введите
Первая строка входные данные дают количество тестовых примеров, далее следуют тестовые примеры T. Каждый тестовый пример начинается с единственной строки, содержащей два целых числа N и B. Вторая строка содержит N целых чисел. I-е целое число - это Ai, стоимость i-го дома.
Вывод
Для каждого теста выведите одну строку, содержащую Case #x: y , где x - номер тестового примера (начиная с 1), а y - максимальное количество домов, которое вы можете купить.
int main(){
int tests, size, b;
cin >> tests;
for(size_t j = 0; j < tests; ++j){
cin >> size >> b;
int cur;
vector<int> prices(size);
for(size_t i = 0; i < prices.size(); ++i){
cin >> cur;
prices[i] = cur;
}
int cur_total = 0;
int count = 0;
sort(prices.begin(), prices.end());
int i = 0;
while(cur_total + prices[i] <= b){
++count;
cur_total += prices[i];
++i;
}
cout << "Case #" << j+1 << ": " << count << endl;
}
}
Это мое решение, и когда я запускаю его локально с тестовым примером, он возвращает правильный результат. Может ли кто-нибудь увидеть проблему с моим кодом ??