马蜂(码风)
Chtholly_Tree · · 个人记录
upt 2023.08.08 限时奖励,猜对是主题库的哪道题的 AC 代码有奖,可私信。(仅限粉丝)
请注意,无论是领奖还是回答,均不能以公开的方式展出,否则取消奖励。(最好私信回答)
#include <bits/stdc++.h>
#define int long long
using namespace std;
int n, m, a[100007];
signed main(){
cin >> n >> m;
for(int i = 0; i <= n - 1; ++i){
cin >> a[i];
}
sort(a, a + n);
int sum = 0, hope = 0, add = 0;
for(int i = 1; i <= n - 2; ++i){
sum += a[i];
}
hope = a[n - 1] * (n - 2);
add = hope - sum;
if(m <= add){
int ans = 0;
for(int i = 1; i <= n - 2; ++i){
ans += a[i];
}
ans += m;
cout << ans << endl;
return 0;
}
m -= add;
for(int i = 1; i <= n - 2; ++i){
a[i] = a[n - 1];
}
int t = m / (n - 1);
for(int i = 1; i <= n - 1; ++i){
a[i] += t;
}
m %= (n - 1);
for(int i = 1; i <= m; ++i){
++a[i];
}
int maxn = -1;
sum = 0;
for(int i = 1; i <= n - 1; ++i){
sum += a[i];
maxn = max(maxn, a[i]);
}
cout << sum - maxn << endl;
return 0;
}