1 条题解

  • 0
    @ 2026-10-25 15:22:53

    思路

    连续非空分段的最小最大和,单调容量与线性分组计数。

    参考程序(C++11)

    #include <bits/stdc++.h>
    using namespace std;
    int main(){int n,m;cin>>n>>m;vector<int>a(n);long long l=0,r=0;for(int &x:a){cin>>x;l=max(l,(long long)x);r+=x;}while(l<r){long long mid=(l+r)/2,s=0;int groups=1;for(int x:a){if(s+x>mid){groups++;s=0;}s+=x;}if(groups<=m)r=mid;else l=mid+1;}cout<<l<<'\n';}
    
    • 1

    信息

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