问个问题
查看原帖
问个问题
494699
卷王慢即快楼主2023/4/3 17:18
#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,ain,m,a_i 都要开long long啊?不是都是 10910^9 以内的吗。

2023/4/3 17:18
加载中...