枚举群体伤害次数
#include <iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n,x;
cin>>n>>x;
vector<long long>a(n);
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a.begin(),a.end());
vector<long long>prefix(n+1,0);
for(int i=0;i<n;i++){
prefix[i+1]=prefix[i]+a[i];
}
if(n<x){
cout<<prefix[n]<<endl;
return 0;
}
long long min_mp=x*a[n-1];
for(int i=n-2;i>=0;i--){
long long curr=x*a[i]+prefix[n]-prefix[i]-a[i]*(n-i);
if(curr<min_mp)min_mp=curr;
}
cout<<min_mp<<endl;
return 0;
}
// 64 位输出请用 printf("%lld")

京公网安备 11010502036488号