Google Kick Start 2020 Round A Allocation Problem - ошибка штата Вашингтон - PullRequest
1 голос
/ 19 июня 2020

Проблема

В продаже 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;
    }

}

Это мое решение, и когда я запускаю его локально с тестовым примером, он возвращает правильный результат. Может ли кто-нибудь увидеть проблему с моим кодом ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...