8 条题解

  • 0
    @ 2025-3-15 18:53:17
    #include <bits/stdc++.h>
    #define endl '\n'
    using namespace std;
    typedef pair<int,int> PII;  
    using ll = long long;
    using ULL = unsigned long long;
    const int N = 1e6+5;
    
    ll n ,m, a[N];
    
    bool check(ll mid) {
        ll sum = 0;
        for (int i = 0; i < n; i++) 
            if (a[i] > mid) sum += a[i] - mid;
        return sum >= m;
    }
    
    inline void solve() { 
        cin >> n >> m;
        ll l = 0, r = 0;
        for (int i = 0; i < n; i++) {
            cin >> a[i];
            r = max(r,a[i]);
        }
        while (l < r) {
            ll mid = (l + r + 1) >> 1;
            if (check(mid)) l = mid;
            else r = mid -1;    
        }
        cout << l << endl;
    }          
    
    int main() { 
        ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
        int _ = 1; 
        //int _; cin >> _;
        while (_--) solve();
        return 0;
    }
    

    信息

    ID
    89
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    1684
    已通过
    362
    上传者