5wa,求助感觉边界没有写错
查看原帖
5wa,求助感觉边界没有写错
1113703
ranbi楼主2024/9/28 15:38
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;

const int N=100010;
int n,m;
ll arr[N];
int count=0;

bool check(int x){
    int count=1,tmp=0;
    for(int i=1;i<=n;i++){
        if(arr[i]+tmp<=x) tmp+=arr[i];
        else{
            tmp=arr[i];
            count++;
        }
    }
    return count<=m;
}

int main(){
    cin>>n>>m;
    ll l=0,r=0;
    for(int i=1;i<=n;i++){
        scanf("%d",&arr[i]);
        l=max(l,arr[i]);
        r+=arr[i];
    }

    while(l<=r){
        ll mid=l+(r-l)/2;
       
        if(check(mid)) r=mid-1;
        else l=mid+1;
    }
    cout<<l;

    return 0;
}
2024/9/28 15:38
加载中...