Pagini recente » Cod sursa (job #852489) | Cod sursa (job #2201111) | Cod sursa (job #1101846) | Cod sursa (job #204050) | Cod sursa (job #243363)
Cod sursa(job #243363)
#include <fstream>
using namespace std;
ofstream ofis("transport.out");
ifstream ifis("transport.in");
int k,n,i,j,v[16032],nr;
long mij,s,s1;
int main()
{
long max,c;
ifis>>n>>k;
s=0; max=0;
for (i=1; i<=n; i++)
{ifis>>v[i]; s+=v[i]; if (v[i]>max) max=v[i];}
while (s>max)
{
mij=(s+max)/2;
s1=0; nr=0; i=1;
while (i<=n)
{
s1+=v[i];
if (s1>mij) {s1=0; nr++;}
else i++;
}
if (nr<=k) s=mij;
else max=mij;
c=mij;
}
ofis<<c+1;
return 0;
}