Pagini recente » Cod sursa (job #539641) | Cod sursa (job #2237799) | Cod sursa (job #3295503)
#include <iostream>
using namespace std;
int main()
{ int n,k,v[16001],mij,i,st,gasit=0,t=1,s=0,sol;
long long dr;
cin>>n>>k;
for(i=1; i<=n; i++)
{
cin>>v[i];
}
st=v[1];
dr=v[1];
for(i=2; i<=n; i++)
{
if(v[i]>st) st=v[i];
dr=dr+v[i];
}
while( st<=dr)
{ mij=(st+dr)/2;
t=1;
s=0;
for(i=1; i<=n; i++)
{ if(s+v[i]<=mij) s=s+v[i];
else{t++;
s=v[i];}
}
if(t<=k) {sol=mij;
dr=mij-1; }
else{ st=mij+1;
}
}
cout<<t;
return 0;
}