easy
2025-04-10 13:06:10
发布于:广东
0阅读
0回复
0点赞
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
typedef long long ll;
int main() {
ll a, b, c, d;
cin >> a >> b >> c >> d;
ll n, m;
cin >> n >> m;
vector<ll> color_pages(m);
for (ll i = 0; i < m; ++i) {
cin >> color_pages[i];
}
sort(color_pages.begin(), color_pages.end());
// 单面打印的花费
ll single_cost = m * a + (n - m) * c;
// 双面打印的花费
ll double_cost = 0;
vector<bool> double_pages((n + 1) / 2, false);
for (ll page : color_pages) {
double_pages[(page - 1) / 2] = true;
}
for (bool is_color : double_pages) {
if (is_color) {
double_cost += b;
} else {
double_cost += d;
}
}
// 取最小花费
ll min_cost = min(single_cost, double_cost);
cout << min_cost << endl;
return 0;
}
这里空空如也
有帮助,赞一个