Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
127934 林扬泉 花费 C++ 通过 100 0 MS 260 KB 564 2024-01-25 11:03:47

Tests(10/10):


#include<bits/stdc++.h> using namespace std; const int N=1e5+10; int n,m; int a[N]; bool check(int mid){ int sum=0; int res=1; for(int i=1;i<=n;i++){ if(sum+a[i]<=mid){ sum+=a[i]; } else{ sum=a[i]; res++; } } return res>m; } int main(){ scanf("%d%d",&n,&m); int l=0,r=0; for(int i=1;i<=n;i++){ scanf("%d",&a[i]); if(a[i]>l){ l=a[i]; } r+=a[i]; } int mid=(l+r)>>1; while(l<r){ if(check(mid)){ l=mid+1; } else{ r=mid; } mid=(l+r)>>1; } printf("%d\n",mid); return 0; }


测评信息: