Pagini recente » Cod sursa (job #782433) | Cod sursa (job #2546971) | Cod sursa (job #918900) | Cod sursa (job #1744826) | Cod sursa (job #1347446)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int main()
{
int n,k,s=0,v[16001],maxx=0,i,in,mij,sf,ok=0,m,cont;
f>>n>>k;
for(i=1;i<=n;i++)
{
f>>v[i];
s=s+v[i];
if(maxx<v[i])
maxx=v[i];
}
in=maxx;
sf=s;
mij=(in+sf)/2;
while(in<=sf)
{
mij=(in+sf)/2;
m=0;
cont=1;
for(i=1;i<=n;i++)
{
m=m+v[i];
if(m>mij)
{
m=v[i];
cont++;
}
}
if(cont<=k)
sf=mij-1;
else
in=mij+1;
}
g<<mij;
return 0;
}