请问大家哪里错了,试了好多遍
查看原帖
请问大家哪里错了,试了好多遍
877089
ycyy楼主2023/11/20 15:53
/*
 * @Author: error: error: git config user.name & please set dead value or install git && error: git config user.email & please set dead value or install git & please set dead value or install git
 * @Date: 2023-11-20 14:33:55
 * @LastEditors: error: error: git config user.name & please set dead value or install git && error: git config user.email & please set dead value or install git & please set dead value or install git
 * @LastEditTime: 2023-11-20 15:16:37
 * @FilePath: \ll\二分\数列分段.cpp
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[100005];
bool check(int mid){
    int sum=0;
    int count=1;
    for(int i=0;i<n;i++){
        if(sum+a[i]>mid){
            sum=0;
            count++;
        }
        else{
            sum+=a[i];
        }
    }
    if(count>=m)return true;
    else return false;
}
int main(){
    cin>>n>>m;
    int l=0,r=0;
    for(int i=0;i<n;i++){
        cin>>a[i];
        l=max(l,a[i]);
        r+=a[i];
    }
    while(l<r){
        int mid=(l+r+1)/2;
        if(check(mid))l=mid;
        else r=mid-1;
    }
    cout<<l;
    return 0;
}
2023/11/20 15:53
加载中...