1243:月度开销
时间:2024-05-05 09:18
作者:admin
点击:次
#include iostreamusing namespace std;int n,m;long long a[100050];long long l=0,r=0;bool f(int mid){ int cnt=1; long long sum=a[1]; for(int i=2;i=n;i++){ if(sum+a[i]mid){ cnt++; sum=a[i]; } else sum+=a[i]; } return cnt=m;}int main() { cinnm;
#include <iostream>
using namespace std;
int n,m;
long long a[100050];
long long l=0,r=0;
bool f(int mid){
int cnt=1;
long long sum=a[1];
for(int i=2;i<=n;i++){
if(sum+a[i]>mid){
cnt++;
sum=a[i];
}
else sum+=a[i];
}
return cnt<=m;
}
int main() {
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
if(l<a[i]) l=a[i];
r+=a[i];
}
while(l<r){
long long mid=(l+r)/2;
if(f(mid)) r=mid;
else l=mid+1;
}
cout<<l;
return 0;
}
(责任编辑:admin) |