#include <bits/stdc++.h>
using namespace std;
typedef unsigned long long ll;
ll n, m;
ll a[100007];
ll sum = 0;
inline ll read() {
ll x = 0, f = 1;
char ch = getchar();
while(ch < '0' || ch > '9') {
if(ch == '-') f = -1;
ch = getchar();
}
while(ch >= '0' && ch <= '9') {
x = (x << 1) + (x << 3) + (ch ^ 48);
ch = getchar();
}
return x * f;
}
int main() {
n = read(), m = read();
for(int i = 1; i <= n; i++)
a[i] = read();
sort(a + 1, a + n + 1);
for(int i = 2; i < n; i++) sum += a[i];
if(sum + m < (n - 2) * a[n]) cout << 1ull * sum + m;
else cout << 1ull * (sum + a[n] + m) * (n - 2) / (n - 1);
return 0;
}
为什么 n,m,ai 都要开long long啊?不是都是 109 以内的吗。