蒟蒻求调T_T
查看原帖
蒟蒻求调T_T
663949
HYLW楼主2024/5/4 19:00
#include<bits/stdc++.h>
using namespace std;
const int N = 100100;
typedef long long ll;
ll a[N];
ll b[N];
ll su;
ll n,p,q,r;
int main(){
	scanf("%lld%lld%lld%lld",&n,&p,&q,&r);
	for(int i=1;i<=n;i++)
		scanf("%lld",&a[i]),b[i]=a[i],su+=a[i];
	sort(b+1,b+n+1);
	if(su>=0){
		printf("0");
		return 0;
	}//本身是美妙的 
	
	ll g=0-su;
	ll h1=g*p;
	ll h2=0;
	ll sum=su;
	for(int i=1;i<n;i++){
		if(sum<0 && b[i]<0)	sum+=-b[i],h2+=min(-b[i]*p,q);
		if(sum>=0)	break;
	}
	
	if(sum<0)	h2+=(0-sum)*p;
	
	if(h1<=h2 || n==1)	printf("%lld",h1);
	else	printf("%lld",h2);
	return 0;
}

只有最后一个substack没过 T_T

2024/5/4 19:00
加载中...