1 条题解

  • 0
    @ 2026-10-25 18:55:20

    思路

    m副牌的缺口总和必须同时不超过特殊牌b和副数m,每副最多1张特殊牌,百万种牌计数避免32位总和溢出。

    参考程序(C++11)

    #include <bits/stdc++.h>
    using namespace std;
    int main(){ios::sync_with_stdio(false);cin.tie(nullptr);int n;long long b;cin>>n>>b;vector<long long>a(n);for(auto &x:a)cin>>x;long long lo=0,hi=*min_element(a.begin(),a.end())+b;auto ok=[&](long long m){long long need=0;for(long long x:a){need+=max(0LL,m-x);if(need>b||need>m)return false;}return true;};while(lo<hi){long long mid=(lo+hi+1)/2;if(ok(mid))lo=mid;else hi=mid-1;}cout<<lo<<'\n';}
    
    • 1

    信息

    ID
    1411
    时间
    1000ms
    内存
    256MiB
    难度
    普及
    标签
    递交数
    1
    已通过
    1
    上传者