思路:
以最小值为平均,然后算出sum-min*n-m的值,可以得到当前是缺少还是多余,若是还缺少,就从平均数中再相应的减去去补齐,若多余则直接输入
代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
long long n,m;
while(~scanf("%lld %lld",&n,&m)){
long long a[1005];
long long sum=0;
for(long long i=1;i<=n;i++){
scanf("%lld",&a[i]);
sum+=a[i];
}
sort(a+1,a+1+n);
if(sum<m){
printf("-1\n");
continue;
}
m=sum-a[1]*n-m;
if(m>=0){
printf("%lld\n",a[1]);
}else{
m=-m;
if(m%n==0){
printf("%lld\n",a[1]-m/n);
}
else{
printf("%lld\n",a[1]-m/n-1);
}
}
}
}