不知道哪里错了,第一次写二分
#include<bits/stdc++.h>
#define mian main
using namespace std;
long long num,n,a[1145141],maxx=0,minn=0,midd,mb,g,x;
int js(){
mb=0;
for(long long i=0;i<n;i++){
g=a[i]-midd;
if(g<=0){
continue;
}
mb+=g;
}
return mb;
}
void sq(){
minn=midd;
midd=(midd+maxx)/2;
}
void xq(){
maxx=midd;
midd=(midd+minn)/2;
}
int mian(){
cin>>n>>num;
for(long long i=0;i<n;i++){
cin>>a[i];
if(a[i]>maxx){
maxx=a[i];
}
}
midd=maxx/2;
while(1){
x=js();
if(x==num||maxx==minn||midd==minn||midd==maxx){
cout<<midd;
return 0;
}
if(x<num){
xq();
}
if(x>num){
sq();
}
}
return 0;
}