Pagini recente » Cod sursa (job #1483957) | Cod sursa (job #1382155) | Cod sursa (job #1513981) | Statistici Popa Alexandru (PAlexandru) | Cod sursa (job #1729765)
#include <bits/stdc++.h>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int a[16005],n,k;
void Citire()
{
int i;
f>>n>>k;
for(i=1;i<=n;i++)
f>>a[i];
}
int Imparte(int l)
{
int i,secv=1,suma=0;
for(i=1;i<=n;i++)
{
if(a[i]>l)return 0;
suma+=a[i];
if(suma>l)
{
secv++;
suma=a[i];
}
}
if(secv<=k)return 1;
return 0;
}
int Cauta()
{
int st=1,dr=256000000,m,poz;
while(st<=dr)
{
m=(dr+st)/2;
if(Imparte(m)==1)
{
poz=m;
dr=m-1;
}
else st=m+1;
}
return poz;
}
int main()
{
int x;
Citire();
x=Cauta();
g<<x<<"\n";
return 0;
}