//#include<bits/stdc++.h>万能头文件
//STL
#include <algorithm> //STL 通用算法
#include <bitset> //STL 位集容器
#include <deque> //STL 双端队列容器
#include <functional> //STL 定义运算函数(代替运算符)
#include <queue> //STL 队列容器
#include <set> //STL 集合容器
#include <utility> //STL 通用模板类
#include <vector> //STL 动态数组容器
#include <stack> //STL 堆栈容器
#include <list> //STL 线性列表容器
#include <map> //STL 映射容器
//其他
//#include <windows.h>
//#include <time.h>
//#include <cctype>
//#include <cerrno>
//#include <clocale>
//#include <cmath>//数学函数
//#include <complex> //复数类
//#include <cstdlib>
//#include <cstring>//字符串函数
//#include <ctime>
//#include <exception> //异常处理类
//#include <fstream>
//#include <limits>
//#include <iomanip>
//#include <ios> //基本输入/输出支持
//#include <iosfwd> //输入/输出系统使用的前置声明
//#include <istream> //基本输入流
//#include <ostream> //基本输出流
//#include <sstream> //基于字符串的流
//#include <stdexcept> //标准异常类
//#include <streambuf> //底层输入/输出支持
//#include <string> //字符串类
//#include <cwchar>
//#include <cwctype>
//#include <stdio.h>
//#include <cstdio>
#include <iostream>
#define fo(i,j,n,k) for(int i=(j);i<=(n);i+=(k))
#define fo1(i,j,n,k) for(int i=(j);i>=(n);i-=(k))
using namespace std;
typedef unsigned long long ll;
ll a[1000010],n;
ll tall(ll x){
ll sum=0;
for(ll i=1;i<=n;i++)
if(a[i]>x) sum+=a[i]-x;
return sum;
}
ll solve(ll l,ll r,ll k){
ll mid;
while(l<=r){
mid=(l+r)/2;
int x=tall(mid);
if(x>=k){
l=mid+1;
}
else{
r=mid-1;
}
}
return r;
}
const int upint=1e6+10;
const double downdouble=1e-6;
ll k,maxn=0,minn=1000000001;
int main(){
scanf("%lld%lld",&n,&k);
for(ll i=1;i<=n;i++){
scanf("%lld",&a[i]);
maxn=max(maxn,a[i]);
minn=min(minn,a[i]);
}
printf("%lld",solve(minn,maxn,k));
return 0;
}
第三个测试下载过了,他太大了,谁能帮我调一下