解:
2026-09-10 21:50:51
发布于:广东
6阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
struct Apple {
long long s, z, c;
int id;
};
bool cmp(Apple a, Apple b) {
if (a.s + a.z != b.s + b.z) return a.s + a.z > b.s + b.z;
if (a.s != b.s) return a.s > b.s;
return a.id < b.id;
}
int main() {
int n, m;
long long p1, p2;
cin >> n >> m >> p1 >> p2;
Apple a[200005];
for (int i = 1; i <= n; i++) {
cin >> a[i].s >> a[i].z >> a[i].c;
a[i].id = i;
}
sort(a + 1, a + n + 1, cmp);
long long ans = 0;
for (int i = 1; i <= n; i++) {
if (i <= m) ans += a[i].c * p1;
else ans += a[i].c * p2;
}
cout << ans << '\n';
return 0;
}
|
| --- | --- |
这里空空如也






有帮助,赞一个