1 条题解
-
0Guest LV 0 MOD
-
1
#include<bits/stdc++.h> using namespace std; long long n,m,a[1000005]; bool check(long long mid) { long long j=1,sum=0; for(long long i=1; i<=m; ++i) { while(j<=n&&sum<mid) { sum+=a[j]; ++j; } if(sum<mid) return 1; --j; sum=0; } return 0; } int main() { cin>>n>>m; for(long long i=1; i<=n; ++i) cin>>a[i]; long long l=0,r=0; for(long long j=1; j<=n; ++j) r+=a[j]; while(l<r) { long long mid=(l+r)>>1; if(check(mid)) r=mid; else l=mid+1; } cout<<l-1<<endl; return 0; }
- 1