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


Đề thi HSG môn Tin Học của TP Vinh lớp 8 năm 2024-2025, giải hộ mik với
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
#include <bits/stdc++.h>
using namespace std;
int solve(int N, int P, vector<int>& types, vector<int>& candies) {
map<int, int> type_candies;
for (int i = 0; i < N; i++) {
if (type_candies.find(types[i]) == type_candies.end() || candies[i] < type_candies[types[i]]) {
type_candies[types[i]] = candies[i];
}
}
vector<pair<int, int>> unique_candies;
for (auto& pair : type_candies) {
unique_candies.push_back(pair);
}
sort(unique_candies.begin(), unique_candies.end(), [](const pair<int, int>& a, const pair<int, int>& b) {
return a.second < b.second;
});
int total_candies = 0;
int package_count = 0;
for (auto& pair : unique_candies) {
if (total_candies + pair.second <= P) {
total_candies += pair.second;
package_count++;
} else {
break;
}
}
return package_count;
}
int main() {
ifstream inputFile("qua.inp");
if (!inputFile) {
cout << "Khong mo duoc file qua.inp";
return 1;
}
int N, P;
inputFile >> N >> P;
vector<int> types(N);
vector<int> candies(N);
for (int i = 0; i < N; i++) {
inputFile >> types[i];
}
for (int i = 0; i < N; i++) {
inputFile >> candies[i];
}
inputFile.close();
int result = solve(N, P, types, candies);
ofstream outputFile("qua.out");
if (!outputFile) {
cout << "Khong mo duoc file qua.out";
return 1;
}
outputFile << result;
outputFile.close();
return 0;
}
#PhongdangbuonHãy giúp mọi người biết câu trả lời này thế nào?
![]()
Bảng tin