WAon #15 悬1关
查看原帖
WAon #15 悬1关
780514
N1tr0us_Acid楼主2024/5/10 22:22
#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;
}

自己调了一下,然后错了更多

2024/5/10 22:22
加载中...