只过了样例,求救
查看原帖
只过了样例,求救
1294754
Qinssmoon楼主2024/3/7 15:41
#include <iostream>
#include <cmath>
#include <vector>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long ll;
const ll N = 1e9+10;
ll n,m;
ll q[N];

bool check(ll x){
    ll sum = 0;
    for(ll i = 0; i < n; i++){
        sum += max(0LL,q[i] - x);
    }
    if(sum <= m) return true;
    return false;
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    
    cin >> n >> m;
    
    for(ll i = 0; i < n; i++){
        cin >> q[i];
    }
    
    sort(q, q + n);
    
    ll l = q[0], r = q[n-1];

    while(l < r){
        ll mid = l + r >> 1;
        if(check(mid)){
            r = mid;
        }else{
            l = mid+1;
        }
    }
    cout << l << endl;


    return 0;
}
2024/3/7 15:41
加载中...