CodeForces Question 1873E code fails in later test case(Please help find the problem in my code)

include <bits/stdc++.h>
using namespace std;

int main(){
long long int t;
cin>>t;

while(t--){
    long long int n,x;
    cin>>n>>x;
    long long int lo,hi;
    vector<long long int> v(n);
    for(long long int i=0;i<n;i++){
        long long int cur;
        cin>>cur;
        v[i]=cur;
    }
    lo=1;
    hi=10000000000000;
    
    while(hi-lo>1){
        long long int mid =(lo+hi)/2;
        long long int tf=0;
        long long int water=x;
        for(long long int i=0;i<n;i++){
            if(mid>=v[i]){
                water=water-(mid-v[i]);
                //cout<<"kk"<<endl;
            }
            if (water<0){
                //cout<<"mid is "<<mid<<endl;
                tf=1;
                break;
            }
        }
        if(tf==1){
            hi=mid;
        }
        else{
            lo=mid;
        }
    }
    if(lo!=hi){
        long long int tf=0;
        long long int water=x;
        for(long long int i=0;i<n;i++){
            water=water-(hi-v[i]);
            if (water<=0){
                tf=1;
                break;
            }
        }
        if(tf==0){
            cout<<hi<<endl;
        }
        else{
            cout<<lo<<endl;
        }
    }
    else{
        cout<<lo<<endl;
    }
}


return 0;

}