#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e5 + 10;
int n, q, p, r, now;
int a[N], num, idx, ans, flag, sum[10];
signed main(void) {
cin >> n >> p >> q >> r;
now = n;
for (int i = 1; i <= n; i ++) {
cin >> a[i];
num += a[i];
if(abs(a[i]) > 1) flag = 1;
else sum[a[i] + 2] ++;
}
if(num >= 0) return cout << 0, 0;
if(n == 1) {
int g = abs(a[1]);
return cout << g * p, 0;
}
sort(a + 1, a + n + 1);
for (int i = 1; i <= n; i ++) {
int g = abs(a[i]);
if(g >= abs(num)) {
int x = abs(num) * p;
ans += min(q, x);
break;
}
int x = g * p;
ans += min(q, x), now --;
num += g;
}
// int f = min(p, q);
// if(n == 1) f = p;
//
// if(num < 0) {
// cout << (0 - num) * f;
// }
// else cout << 0;
cout << ans;
return 0;
}
自己调了一下,然后错了更多