不是官方题解的题解
2025-04-05 23:24:28
发布于:广东
8阅读
0回复
0点赞
依旧使用vector(维克托)
维克托冲锋枪
解:
#include <iostream>
#include <vector>
#include <algorithm>
#include <unordered_set>
using namespace std;
int main() {
long long a, b, c, d;
cin >> a >> b >> c >> d;
long long n, m;
cin >> n >> m;
vector<long long> p(m);
for (int i = 0; i < m; ++i) {
cin >> p[i];
}
long long single_cost = m * a + (n - m) * c;
unordered_set<long long> sheets;
for (long long page : p) {
long long sheet = (page + 1) / 2;
sheets.insert(sheet);
}
long long color_sheets = sheets.size();
long long total_sheets = (n + 1) / 2;
long long black_sheets = total_sheets - color_sheets;
long long double_cost = color_sheets * b + black_sheets * d;
cout << min(single_cost, double_cost) << endl;
return 0;
}
记得开心
这里空空如也
有帮助,赞一个