Pagini recente » Cod sursa (job #56913) | Cod sursa (job #1696377) | Cod sursa (job #1545566) | Cod sursa (job #43768) | Cod sursa (job #1012664)
#include<fstream>
using namespace std;
ifstream in("transport.in");
ofstream out("transport.out");
int v[16001],n,k,l=0,r=0,cnt=0,ok=1;
int verif2(int x)
{
int s=0,g=1;
for(int i=1; i<=n; i++)
{
s+=v[i];
if(s>x)
{
g++;
s=0;
i--;
}
}
if(g<=k) return 1;
return 0;
}
int main()
{
int mid=0;
in>>n>>k;
for(int i=1 ;i<=n; i++)
{
in>>v[i];
r+=v[i];
if(v[i]>l) l=v[i];
}
int aux;
while(l<r)
{
mid=(l+r)/2;
if(verif2(mid)==0)
l=mid+1;
else
{
r=mid-1;
}
}
/* for(int i=l; i<=r; i++)
{
if(verif2(i)==1)
{
out<<i;
break;
}
}*/
out<<l;
in.close();
out.close();
return 0;
}