假设至少进行x场比赛,则x至少为a1,…an的最大值,
且(x-a1)+(x-a2)+…+(x-an)为进行的比赛中裁判的最多数量,
所以(x-a1)+(x-a2)+…+(x-an)>=x,
解得(n-1)*x>=ai的和
所以x>=ai/(n-1)向上取整
再和a1,…,an中的最大值进行比较
#include<iostream>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<cstdio>
using namespace std;
int main(){
int a;
double sum=0;
int n;
while(scanf("%d",&n)!=EOF){
int maxv=0;
for(int i=0;i<n;i++){
scanf("%d",&a);
sum+=a;
maxv=max(maxv,a);
}
printf("%d\n",max(maxv,(int)(ceil(sum/(n-1)))));
}
return 0;
}