Pagini recente » Cod sursa (job #2026255) | Cod sursa (job #2025237) | Cod sursa (job #2196350) | Cod sursa (job #279053) | Cod sursa (job #3303829)
#include <bits/stdc++.h>
using namespace std;
vector<int>v;
int n, k,s=0;
bool check(int nr)
{
int sum=0,cnt=1;
for(int i=1;i<=n;i++)
{
sum+=v[i];
if(sum>nr)
{
sum=v[i];
cnt++;
}
}
return cnt<=k;
}
int main()
{
freopen("transport.in", "r",stdin);
freopen("transport.out", "w", stdout);
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin>>n>>k;
v=vector<int>(n+1);
for(int i=1;i<=n;i++){
cin>>v[i];
s+=v[i];
}
int st=1, dr=s;
while(st<=dr)
{
int mij=(st+dr)/2;
if(!check(mij))
{
st=mij+1;
}
else dr=mij-1;
}
cout<<st;
return 0;
}