但WA3个点,呜呜呜
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,l,r=0x3f3f3f3f,ans;
int a[100010];
bool check(int x)
{
int now=0,tot=1;
for(int i=1;i<=n;i++)
{
//if(a[i]>x)//直接没法装
//return 0;
if(now+a[i]<=x)
{
now+=a[i];
}
else
{
now=a[i];
tot++;
}
}
return tot<=m;
}
signed main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
scanf("%lld",&a[i]);
}
while(l<=r)
{
int mid=(l+r)>>1;
if(check(mid))
{
ans=mid;
r=mid-1;
}
else l=mid+1;
}
cout<<ans;
return 0;
}