问题
有N栋房屋待售。第i座房子要花艾美金购买。您的预算预算为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;
}
}
以上是我的解决方案,当我在一个测试用例中本地运行时,它返回正确的输出。谁能看到我的代码有问题吗?