Đăng nhập để hỏi chi tiết


nhân dịp về dưới xuôi thăm gia đình , thầy minh có chuẩn bị n phần quà có khối lượng là a1,a2,...,an.tuy nhiên ,do sức mang có hạn , thầy chỉ có thể mang theo các phần quà sao cho khối lượng không vượt quá mức tối đa cho phép . hãy giúp thầy minh chọn được nhiều phần quà nhất có thể mà vẫn dảm bảo tổng khối lượng không vượt quá mức mang đi của thầy. Làm bằng c++
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n, maxWeight;
cout << "Nhập số phần quà: ";
cin >> n;
cout << "Nhập khối lượng tối đa cho phép: ";
cin >> maxWeight;
vector<int> weights(n);
cout << "Nhập khối lượng các phần quà: ";
for (int i = 0; i < n; i++) {
cin >> weights[i];
}
sort(weights.begin(), weights.end());
int totalWeight = 0;
int count = 0;
for (int i = 0; i < n; i++) {
if (totalWeight + weights[i] <= maxWeight) {
totalWeight += weights[i];
count++;
} else {
break;
}
}
cout << "Số phần quà có thể mang theo: " << count << endl;
return 0;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin